class BaseConsumerStage

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

Base class for consumers. A consumer has one source stream and zero destination streams. All data

"consumed" from the source stream is written to an object that implements the

`BaseConsumerStage::Writer` interface. Data is "consumed" in whole frame units, hence this class

represents frame units with int64_t instead of Fixed.

Public Methods

void BaseConsumerStage (Args args)

Defined at line 11 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.cc

void AddSource (PipelineStagePtr source, AddSourceOptions options)

Implements `PipelineStage`.

Defined at line 15 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.cc

void RemoveSource (PipelineStagePtr source)

Defined at line 22 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.cc

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

Defined at line 31 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.cc

void CopyFromSource (MixJobContext & ctx, int64_t start_frame, int64_t length)

Copies `[start_frame, start_frame + frame_count)` from our source to `writer`.

Defined at line 38 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.cc

Protected Methods

void AdvanceSelfImpl (Fixed frame)

Implements `PipelineStage`.

Defined at line 77 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.h

void AdvanceSourcesImpl (MixJobContext & ctx, Fixed frame)

Defined at line 80 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.h

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

Defined at line 83 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.h

PipelineStagePtr source ()

Defined at line 87 of file ../../src/media/audio/services/mixer/mix/base_consumer_stage.h

Records