class SimpleRingBufferProducerStage

Defined at line 26 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.h

A ProducerStage driven by a ring buffer. This is a "simple" producer because it does not handle

Start or Stop commands. This is intended to be embedded within a ProducerStage.

Public Methods

void SimpleRingBufferProducerStage (std::string_view name, std::shared_ptr<RingBuffer> buffer, PipelineThreadPtr initial_thread)

Defined at line 21 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.cc

void UpdatePresentationTimeToFracFrame (std::optional<TimelineFunction> f)

Defined at line 27 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.cc

void AddSource (PipelineStagePtr source, AddSourceOptions options)

Implements `PipelineStage`.

Defined at line 32 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.h

void RemoveSource (PipelineStagePtr source)

Defined at line 35 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.h

Protected Methods

std::optional<Packet> ReadImpl (MixJobContext & ctx, Fixed start_frame, int64_t frame_count)

Defined at line 32 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.cc

void AdvanceSelfImpl (Fixed frame)

Implements `PipelineStage`.

Since there are no resources to release, advancing is a no-op.

Defined at line 43 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.h

void AdvanceSourcesImpl (MixJobContext & ctx, Fixed frame)

Defined at line 44 of file ../../src/media/audio/services/mixer/mix/simple_ring_buffer_producer_stage.h