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