class ThrottleOutput

Defined at line 28 of file ../../src/media/audio/audio_core/throttle_output.h

Throttle output may only be owned on the FIDL thread.

Public Methods

std::shared_ptr<AudioOutput> Create (const DeviceConfig & config, ThreadingModel * threading_model, DeviceRegistry * registry, LinkMatrix * link_matrix, std::shared_ptr<AudioCoreClockFactory> clock_factory)

Defined at line 30 of file ../../src/media/audio/audio_core/throttle_output.h

void ThrottleOutput (const DeviceConfig & config, ThreadingModel * threading_model, DeviceRegistry * registry, LinkMatrix * link_matrix, std::shared_ptr<AudioCoreClockFactory> clock_factory)

Establish an audio clock (clone of monotonic) and override the default reference_clock()

implementation that calls into the AudioDriver, because we don't have an associated driver.

Defined at line 40 of file ../../src/media/audio/audio_core/throttle_output.h

void ~ThrottleOutput ()

Defined at line 69 of file ../../src/media/audio/audio_core/throttle_output.h

std::shared_ptr<Clock> reference_clock ()

Defined at line 71 of file ../../src/media/audio/audio_core/throttle_output.h

Protected Methods

void OnWakeup ()

AudioOutput Implementation

Defined at line 75 of file ../../src/media/audio/audio_core/throttle_output.h

std::optional<AudioOutput::FrameSpan> StartMixJob (zx::time ref_time)

Defined at line 85 of file ../../src/media/audio/audio_core/throttle_output.h

void WriteMixOutput (int64_t start, int64_t length, const float * payload)

Defined at line 109 of file ../../src/media/audio/audio_core/throttle_output.h

void FinishMixJob (const AudioOutput::FrameSpan & span)

Defined at line 114 of file ../../src/media/audio/audio_core/throttle_output.h

zx::duration MixDeadline ()

Defined at line 119 of file ../../src/media/audio/audio_core/throttle_output.h

void ApplyGainLimits (fuchsia::media::AudioGainInfo * in_out_info, fuchsia::media::AudioGainValidFlags set_flags)

AudioDevice implementation.

No one should ever be trying to apply gain limits for a throttle output.

Defined at line 127 of file ../../src/media/audio/audio_core/throttle_output.h

zx::time last_sched_time_mono ()

Defined at line 131 of file ../../src/media/audio/audio_core/throttle_output.h

const TimelineFunction & driver_ref_time_to_frac_presentation_frame ()

Override these since we don't have a real driver.

Defined at line 134 of file ../../src/media/audio/audio_core/throttle_output.h

const TimelineFunction & driver_ref_time_to_frac_safe_read_or_write_frame ()

Defined at line 137 of file ../../src/media/audio/audio_core/throttle_output.h