class VirtualAudioDevice
Defined at line 36 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::closureon_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 45 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_tframes_per_second,uint32_tsample_format,uint32_tnum_channels,zx_duration_texternal_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 (boolcurrent_mute,boolcurrent_agc,floatcurrent_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::vmoring_buffer_vmo,uint32_tnum_ring_buffer_frames,uint32_tnotifications_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