class VirtualAudioDevice
Defined at line 37 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.h
Controller for a `VirtualAudioDriver`.
Each instance of this class represents two objects:
1. A virtual audio device in the device tree, represented by a `VirtualAudioDriver` object.
This device appears under `/dev/class/audio-{input,output}`, `/dev/class/dai`, or
`/dev/class/codec`.
2. A FIDL channel (`fuchsia.virtualaudio.Device`) which controls and monitors the device.
The device lives until the controlling FIDL channel is closed or the device host process decides
to remove the `VirtualAudioDriver`.
Public Methods
fit::result<fuchsia_virtualaudio::Error, std::shared_ptr<VirtualAudioDevice>> Create (const fuchsia_virtualaudio::Configuration & cfg, fidl::ServerEnd<fuchsia_virtualaudio::Device> server, zx_device_t * dev_node, fit::closure on_shutdown)
`on_shutdown` called when FIDL server and driver have completely shutdown.
Defined at line 19 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
std::optional<bool> is_input ()
Defined at line 46 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.h
void PostToDispatcher (fit::closure task_to_post)
Executes the given task on the FIDL channel's main dispatcher thread.
Used to deliver callbacks or events from the driver execution domain.
Defined at line 100 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void ShutdownAsync ()
Shuts down the FIDL server and the driver.
Defined at line 108 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void GetFormat (GetFormatCompleter::Sync & completer)
Implementation of virtualaudio.Device.
Event triggers (e.g. NotifySetFormat) may be called from any thread.
Defined at line 137 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifySetFormat (uint32_t frames_per_second, uint32_t sample_format, uint32_t num_channels, zx_duration_t external_delay)
Deliver SetFormat notification on binding's thread, if binding is valid.
Defined at line 155 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void GetGain (GetGainCompleter::Sync & completer)
Defined at line 172 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifySetGain (bool current_mute, bool current_agc, float current_gain_db)
Defined at line 188 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void GetBuffer (GetBufferCompleter::Sync & completer)
Defined at line 202 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifyBufferCreated (zx::vmo ring_buffer_vmo, uint32_t num_ring_buffer_frames, uint32_t notifications_per_ring)
Defined at line 218 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void SetNotificationFrequency (SetNotificationFrequencyRequestView request, SetNotificationFrequencyCompleter::Sync & completer)
Defined at line 236 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifyStart (zx_time_t start_time)
Defined at line 254 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifyStop (zx_time_t stop_time, uint32_t ring_buffer_position)
Defined at line 267 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void GetPosition (GetPositionCompleter::Sync & completer)
Defined at line 281 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void NotifyPosition (zx_time_t monotonic_time, uint32_t ring_buffer_position)
Defined at line 297 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void ChangePlugState (ChangePlugStateRequestView request, ChangePlugStateCompleter::Sync & completer)
Defined at line 311 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void AdjustClockRate (AdjustClockRateRequestView request, AdjustClockRateCompleter::Sync & completer)
Defined at line 328 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void VirtualAudioDevice (std::optional<bool> is_input, fit::closure on_shutdown)
Public for std::make_shared. Use Create, not this ctor.
Defined at line 88 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc
void ~VirtualAudioDevice ()
Defined at line 91 of file ../../src/media/audio/drivers/virtual-audio-legacy/virtual-audio-device.cc