class MixerGainControls

Defined at line 23 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.h

Class that contains the set of all gain controls used by a single `MixerStage`.

This class is not safe for concurrent use.

Public Methods

void Add (GainControlId gain_id, GainControl gain_control)

Adds `gain_control` with the given `gain_id`.

Required: A `GainControl` must not exist already with this `gain_id`.

Defined at line 20 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc

void Remove (GainControlId gain_id)

Removes the gain control with the given `gain_id`.

Required: A `GainControl` must exist with this `gain_id`.

Defined at line 24 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc

GainControl & Get (GainControlId gain_id)

Returns the gain control with the given `gain_id`.

Required: A `GainControl` must exist with this `gain_id`.

Defined at line 28 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc

const GainControl & Get (GainControlId gain_id)

Defined at line 34 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc

void Advance (const ClockSnapshots & clocks, zx::time mono_time)

Advances all gain controls at once to a given `mono_time`.

Defined at line 40 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc

std::optional<zx::time> NextScheduledStateChange (const ClockSnapshots & clocks)

Returns the next scheduled state change monotonic time amongst all gain controls, or nullopt if

no changes are scheduled.

Defined at line 47 of file ../../src/media/audio/services/mixer/mix/mixer_gain_controls.cc