class VirtualAudioComposite

Defined at line 18 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.h

Public Members

static basic_string_view kClassName

Public Methods

fuchsia_virtualaudio::Configuration GetDefaultConfig ()

Defined at line 21 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void VirtualAudioComposite (InstanceId instance_id, fuchsia_virtualaudio::Configuration config, async_dispatcher_t * dispatcher, fidl::ServerEnd<fuchsia_virtualaudio::Device> server, OnDeviceBindingClosed on_device_binding_closed)

Defined at line 36 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.h

zx::result<std::unique_ptr<VirtualAudioComposite>> Create (InstanceId instance_id, fuchsia_virtualaudio::Configuration config, async_dispatcher_t * dispatcher, fidl::ServerEnd<fuchsia_virtualaudio::Device> server, OnDeviceBindingClosed on_binding_closed, fidl::UnownedClientEnd<fuchsia_driver_framework::Node> parent)

Defined at line 170 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

zx::result<> Init (fidl::UnownedClientEnd<fuchsia_driver_framework::Node> parent)

Defined at line 184 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetFormat (GetFormatCompleter::Sync & completer)

virtualaudio.Device implementation.

Defined at line 221 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetGain (GetGainCompleter::Sync & completer)

Defined at line 1640 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetBuffer (GetBufferCompleter::Sync & completer)

Defined at line 246 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void SetNotificationFrequency (SetNotificationFrequencyRequest & request, SetNotificationFrequencyCompleter::Sync & completer)

Defined at line 1644 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetPosition (GetPositionCompleter::Sync & completer)

Defined at line 1649 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void ChangePlugState (ChangePlugStateRequest & request, ChangePlugStateCompleter::Sync & completer)

Defined at line 1653 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void AdjustClockRate (AdjustClockRateRequest & request, AdjustClockRateCompleter::Sync & completer)

Defined at line 1658 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void Reset (ResetCompleter::Sync & completer)

fuchsia.hardware.audio.Composite implementation.

Defined at line 276 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetProperties (fidl::Server<fuchsia_hardware_audio::Composite>::GetPropertiesCompleter::Sync & completer)

Defined at line 285 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetHealthState (GetHealthStateCompleter::Sync & completer)

Health implementation

Defined at line 270 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void SignalProcessingConnect (SignalProcessingConnectRequest & request, SignalProcessingConnectCompleter::Sync & completer)

signalprocessing

Defined at line 652 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetRingBufferFormats (GetRingBufferFormatsRequest & request, GetRingBufferFormatsCompleter::Sync & completer)

Defined at line 422 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void CreateRingBuffer (CreateRingBufferRequest & request, CreateRingBufferCompleter::Sync & completer)

Defined at line 487 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetDaiFormats (GetDaiFormatsRequest & request, GetDaiFormatsCompleter::Sync & completer)

Defined at line 296 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void SetDaiFormat (SetDaiFormatRequest & request, SetDaiFormatCompleter::Sync & completer)

Defined at line 323 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetPacketStreamFormats (GetPacketStreamFormatsRequest & request, GetPacketStreamFormatsCompleter::Sync & completer)

Defined at line 541 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void CreatePacketStream (CreatePacketStreamRequest & request, CreatePacketStreamCompleter::Sync & completer)

Defined at line 607 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_audio::Composite> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Driver doesn't support a new Composite method. Complain loudly but don't disconnect, since

this test fixture might be used with a client that is built with a newer SDK version.

Defined at line 1623 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetElements (GetElementsCompleter::Sync & completer)

fuchsia.hardware.audio.signalprocessing implementation (SignalProcessing and Reader).

Defined at line 818 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void GetTopologies (GetTopologiesCompleter::Sync & completer)

Defined at line 884 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void SetTopology (SetTopologyRequest & request, SetTopologyCompleter::Sync & completer)

Defined at line 888 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void WatchTopology (WatchTopologyCompleter::Sync & completer)

Defined at line 902 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void SetElementState (SetElementStateRequest & request, SetElementStateCompleter::Sync & completer)

Note that the range of type-specific state for an element is greater than the range of

type-specific state that can be changed by clients. This is why we define two distinct unions:

TypeSpecificElementState is used by the method WatchElementState.

This union defines variants for DAI, DYNAMICS, EQUALIZER, GAIN and VENDOR_SPECIFIC element types.

SettableTypeSpecificElementState is used by the method SetElementState.

This union defines variants for DYNAMICS, EQUALIZER, GAIN and VENDOR_SPECIFIC element types.

To verify these modes, the driver supports 1 ring buffer, 1 gain element and 1 DAI interconnect.

TODO(https://fxbug.dev/42075676): Add support for more elements specified in the Configuration,

enabling dynamic behavior and observability via the virtual_audio FIDL API.

Defined at line 1100 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void WatchElementState (WatchElementStateRequest & request, WatchElementStateCompleter::Sync & completer)

Immediately return the state of this element, if it has changed since last time this was called.

Otherwise, pend this call until the state DOES change.

Defined at line 1569 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc

void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_audio_signalprocessing::SignalProcessing> metadata, fidl::UnknownMethodCompleter::Sync & completer)

Driver doesn't support a new SignalProcessing method. Complain loudly but don't disconnect, since

this test fixture might be used with a client that is built with a newer SDK version.

Defined at line 1614 of file ../../src/media/audio/drivers/virtual-audio/virtual-audio-composite.cc