class MixerStage

Defined at line 27 of file ../../src/media/audio/services/mixer/mix/mixer_stage.h

Stage that mixes multiple source streams into a single destination stream.

Public Methods

void MixerStage (std::string_view name, Format format, UnreadableClock reference_clock, PipelineThreadPtr initial_thread, int64_t max_dest_frame_count_per_mix)

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

MixerGainControls & gain_controls ()

Returns the mixer gain controls.

Defined at line 41 of file ../../src/media/audio/services/mixer/mix/mixer_stage.h

void AddSource (PipelineStagePtr source, AddSourceOptions options)

Implements `PipelineStage`.

Defined at line 41 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc

void RemoveSource (PipelineStagePtr source)

Defined at line 53 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc

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

Defined at line 64 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc

void SetDestGains (std::unordered_set<GainControlId> gain_ids)

Sets the set of `gain_ids` to be applied to the destination stream.

Defined at line 68 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc

Protected Methods

void AdvanceSelfImpl (Fixed frame)

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

void AdvanceSourcesImpl (MixJobContext & ctx, Fixed frame)

Defined at line 75 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc

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

Defined at line 89 of file ../../src/media/audio/services/mixer/mix/mixer_stage.cc