class SplitterConsumerStage

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

Represents the source stream of a splitter. See ../docs/splitters.md.

Unlike other PipelineStages, a few methods can be accessed from other threads. These methods are

intended to be called from a SplitterProducerStage.

Public Methods

void SplitterConsumerStage (Args args)

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

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

Implements `PipelineStage`.

TODO(https://fxbug.dev/42066198): Add TA_REQ(thread()->checker()) to this declaration in

`PipelineStage`.

Defined at line 25 of file ../../src/media/audio/services/mixer/mix/splitter_consumer_stage.cc

void FillBuffer (MixJobContext & ctx)

Fills the ring buffer up to what is needed for the given mix job.

Defined at line 35 of file ../../src/media/audio/services/mixer/mix/splitter_consumer_stage.cc

void AdvanceSource (MixJobContext & ctx, Fixed frame)

Advance this splitter's source stream.

Defined at line 58 of file ../../src/media/audio/services/mixer/mix/splitter_consumer_stage.cc

void set_max_downstream_output_pipeline_delay (zx::duration delay)

Sets the maximum delay on any output pipeline downstream of this splitter.

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

zx::duration max_downstream_output_pipeline_delay ()

Returns the maximum delay on any output pipeline downstream of this splitter.

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

std::optional<TimelineFunction> presentation_time_to_frac_frame ()

Equivalent to PipelineStage::presentation_time_to_frac_frame, but may be called from

SplitterProducerStage, which may be running on a different thread. This is initially

std::nullopt (stopped), then eventually changes to non-nullopt (started), after which point it

never changes. Hence, if the producer sees a non-nullopt value, it should not be concerned

about concurrent changes.

TODO(https://fxbug.dev/42066198): Add TA_REQ(thread()->checker()) to

`PipelineStage::presentation_time_to_frac_frame`.

Defined at line 73 of file ../../src/media/audio/services/mixer/mix/splitter_consumer_stage.cc

int64_t end_of_last_fill ()

Returns one frame after the last frame written, or INT64_MIN if no frames have been written.

May be called from SplitterProducerStage.

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

Records