class FakeComposite
Defined at line 33 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
This driver implements the audio driver interface and is configurable to simulate audio hardware.
Public Members
static const char[] kDefaultManufacturer
static const char[] kDefaultProduct
static array kDefaultUniqueInstanceId
static const ClockDomain kDefaultClockDomain
static const char[] kDefaultClockDomainStr
static const uint32_t kDefaultDaiNumberOfChannels
static const uint32_t kDefaultDaiNumberOfChannels2
static DaiSampleFormat kDefaultDaiSampleFormat
static DaiSampleFormat kDefaultDaiSampleFormat2
static const uint32_t kDefaultDaiFrameRate
static const uint32_t kDefaultDaiFrameRate2
static const uint8_t kDefaultDaiBitsPerSlot
static const uint8_t kDefaultDaiBitsPerSlot2
static const uint8_t kDefaultDaiBitsPerSample
static const uint8_t kDefaultDaiBitsPerSample2
static DaiFrameFormat kDefaultDaiFrameFormat
static DaiFrameFormat kDefaultDaiFrameFormat2
static vector kDefaultDaiNumberOfChannelsSet
static vector kDefaultDaiNumberOfChannelsSet2
static vector kDefaultDaiSampleFormatSet
static vector kDefaultDaiSampleFormatSet2
static vector kDefaultDaiFrameFormatSet
static vector kDefaultDaiFrameFormatSet2
static vector kDefaultDaiFrameRateSet
static vector kDefaultDaiFrameRateSet2
static vector kDefaultDaiBitsPerSlotSet
static vector kDefaultDaiBitsPerSlotSet2
static vector kDefaultDaiBitsPerSampleSet
static vector kDefaultDaiBitsPerSampleSet2
static DaiSupportedFormats kDefaultDaiFormatSet
static DaiSupportedFormats kDefaultDaiFormatSet2
static vector kDefaultDaiFormatSets
static vector kDefaultDaiFormatSets2
static const std::unordered_map<ElementId, std::vector<fuchsia_hardware_audio::DaiSupportedFormats>> kDefaultDaiFormatsMap
static DaiFormat kDefaultDaiFormat
static DaiFormat kDefaultDaiFormat2
static const size_t kDefaultRingBufferAllocationSize
static const uint8_t kDefaultNumberOfChannels1
static const uint8_t kDefaultNumberOfChannels2
static const uint32_t kDefaultChannelAttributes1MinFrequency
static const uint32_t kDefaultChannelAttributes1MaxFrequency
static const uint32_t kDefaultChannelAttributes2MinFrequency
static const uint32_t kDefaultChannelAttributes3MaxFrequency
static ChannelAttributes kDefaultChannelAttributes1
static ChannelAttributes kDefaultChannelAttributes2
static ChannelAttributes kDefaultChannelAttributes3
static vector kDefaultChannelAttributesSet1
static vector kDefaultChannelAttributesSet2
static vector kDefaultChannelAttributesSet3
static ChannelSet kDefaultChannelSet1
static ChannelSet kDefaultChannelSet2
static ChannelSet kDefaultChannelSet3
static vector kDefaultChannelSets1
static vector kDefaultChannelSets2
static vector kDefaultChannelSets3
static SampleFormat kDefaultRbSampleFormat1
static SampleFormat kDefaultRbSampleFormat2
static SampleFormat kDefaultRbSampleFormat3
static vector kDefaultRbSampleFormats1
static vector kDefaultRbSampleFormats2
static vector kDefaultRbSampleFormats3
static const uint8_t kDefaultRbBytesPerSample1
static const uint8_t kDefaultRbBytesPerSample2
static const uint8_t kDefaultRbBytesPerSample3
static vector kDefaultRbBytesPerSampleSet1
static vector kDefaultRbBytesPerSampleSet2
static vector kDefaultRbBytesPerSampleSet3
static const uint8_t kDefaultRbValidBitsPerSample1
static const uint8_t kDefaultRbValidBitsPerSample2
static const uint8_t kDefaultRbValidBitsPerSample3
static vector kDefaultRbValidBitsPerSampleSet1
static vector kDefaultRbValidBitsPerSampleSet2
static vector kDefaultRbValidBitsPerSampleSet3
static const uint32_t kDefaultRbFrameRate1
static const uint32_t kDefaultRbFrameRate2
static const uint32_t kDefaultRbFrameRate3
static vector kDefaultRbFrameRates1
static vector kDefaultRbFrameRates2
static vector kDefaultRbFrameRates3
static PcmSupportedFormats kDefaultPcmRingBufferFormatSet1
static PcmSupportedFormats kDefaultPcmRingBufferFormatSet2
static PcmSupportedFormats kDefaultPcmRingBufferFormatSet3
static SupportedFormats2 kDefaultRbFormatSet1
static SupportedFormats2 kDefaultRbFormatSet2
static vector kDefaultRbFormatSets1
static vector kDefaultRbFormatSets2
static const uint32_t kDefaultPsFrameRate1
static const uint32_t kDefaultPsFrameRate2
static vector kDefaultPsFrameRates1
static vector kDefaultPsFrameRates2
static const uint32_t kDefaultPsEncodingBitRate1
static const uint32_t kDefaultPsEncodingBitRate2
static EncodingType kDefaultPsEncodingType1
static EncodingType kDefaultPsEncodingType2
static vector kDefaultPsEncodingTypes1
static vector kDefaultPsEncodingTypes2
static SupportedEncodings kDefaultEncodingSet1
static SupportedEncodings kDefaultEncodingSet2
static SupportedFormats2 kDefaultPsFormatSet1
static SupportedFormats2 kDefaultPsFormatSet2
static SupportedFormats2 kDefaultPsFormatSet3
static vector kDefaultPsFormatSets1
static vector kDefaultPsFormatSets2
static vector kSourceDualSupportPsFormatSets
static Format kDefaultPsFormat1
static Format kDefaultPsFormat2
static Encoding kDefaultPsFormat3
static const std::unordered_map<ElementId, std::vector<fuchsia_hardware_audio::SupportedFormats2>> kDefaultRbFormatsMap
static const std::unordered_map<ElementId, std::vector<fuchsia_hardware_audio::SupportedFormats2>> kDefaultPsFormatsMap
static const ElementId kSourceDaiElementId
static const ElementId kDestDaiElementId
static const ElementId kMinDaiElementId
static const ElementId kMaxDaiElementId
static const ElementId kDestRbElementId
static const ElementId kSourceRbElementId
static const ElementId kMinRingBufferElementId
static const ElementId kMaxRingBufferElementId
static const ElementId kDestPsElementId
static const ElementId kSourcePsElementId
static const ElementId kSourceDualSupportPsElementId
static const ElementId kMinPacketStreamElementId
static const ElementId kMaxPacketStreamElementId
static const ElementId kVendorSpecificElementId
static const ElementId kDynamicsElementId
static const ElementId kEqualizerElementId
static const ElementId kGainElementId
static const ElementId kMuteElementId
static const ElementId kMinElementId
static const ElementId kMaxElementId
static basic_string kSourceDaiElementDescription
static Element kSourceDaiElement
static duration kSourceDaiElementProcessingDelay
static ElementState kSourceDaiElementInitState
static basic_string kSourceRbElementDescription
static Element kSourceRbElement
static duration kSourceRbElementProcessingDelay
static ElementState kSourceRbElementInitState
static basic_string kSourcePsElementDescription
static Element kSourcePsElement
static duration kSourcePsElementProcessingDelay
static ElementState kSourcePsElementInitState
static basic_string kSourceDualSupportPsElementDescription
static Element kSourceDualSupportPsElement
static duration kSourceDualSupportPsElementProcessingDelay
static ElementState kSourceDualSupportPsElementInitState
static basic_string kDestDaiElementDescription
static Element kDestDaiElement
static duration kDestDaiElementExternalDelay
static duration kDestDaiElementProcessingDelay
static ElementState kDestDaiElementInitState
static basic_string kDestRbElementDescription
static Element kDestRbElement
static ElementState kDestRbElementInitState
static basic_string kDestPsElementDescription
static Element kDestPsElement
static ElementState kDestPsElementInitState
static basic_string kDynamicsElementDescription
static const uint64_t kDynamicsBandId1
static const uint64_t kDynamicsBandId2
static DynamicsSupportedControls kDynamicsSupportedControls
static Element kDynamicsElement
static const uint32_t kDynamicsMinFrequency1
static const uint32_t kDynamicsMaxFrequency1
static const float kDynamicsThresholdDb1
static const float kDynamicsRatio1
static const uint32_t kDynamicsMinFrequency2
static const uint32_t kDynamicsMaxFrequency2
static const float kDynamicsThresholdDb2
static const float kDynamicsRatio2
static ThresholdType kDynamicsThresholdType1
static ThresholdType kDynamicsThresholdType2
static ElementState kDynamicsElementInitState
static basic_string kEqualizerElementDescription
static const uint64_t kEqualizerBandId1
static const uint64_t kEqualizerBandId2
static EqualizerSupportedControls kEqualizerSupportedControls
static const uint32_t kEqualizerMinFrequency
static const uint32_t kEqualizerMaxFrequency
static const float kEqualizerMaxQ
static const float kEqualizerMinGainDb
static const float kEqualizerMaxGainDb
static Element kEqualizerElement
static const uint32_t kEqualizerFrequency1
static const float kEqualizerQ1
static const float kEqualizerGainDb1
static const bool kEqualizerEnabled1
static EqualizerBandType kEqualizerType1
static const uint32_t kEqualizerFrequency2
static const float kEqualizerQ2
static const bool kEqualizerEnabled2
static EqualizerBandType kEqualizerType2
static duration kEqualizerTurnOnDelay
static duration kEqualizerTurnOffDelay
static duration kEqualizerProcessingDelay
static ElementState kEqualizerElementInitState
static basic_string kGainElementDescription
static GainType kGainType
static GainDomain kGainDomain
static const float kGainMin
static const float kGainMax
static const float kGainStep
static Element kGainElement
static const float kGainInitValue
static ElementState kGainElementInitState
static basic_string kVendorSpecificElementDescription
static Element kVendorSpecificElement
static const size_t kVendorSpecificDataLength
static ElementState kVendorSpecificElementInitState
static basic_string kMuteElementDescription
static Element kMuteElement
static ElementState kMuteElementInitState
static vector kElements
static const TopologyId kStartTopologyId
static const TopologyId kInputOnlyTopologyId
static const TopologyId kPacketStreamCaptureTopologyId
static const TopologyId kFullDuplexTopologyId
static const TopologyId kOutputOnlyTopologyId
static const TopologyId kPacketStreamOutputTopologyId
static const TopologyId kOutputWithProcessingTopologyId
static const TopologyId kSourceDualSupportPsOutputTopologyId
static const TopologyId kEndTopologyId
static const TopologyId kDefaultTopologyId
static const TopologyId kSubsequentTopologyId
static EdgePair kTopologyInputEdgePair
static EdgePair kTopologyPsCaptureEdgePair
static EdgePair kTopologyOutputEdgePair
static EdgePair kTopologyPsOutputEdgePair
static EdgePair kTopologyRbToVendorSpecificEdgePair
static EdgePair kTopologyVendorSpecificToDynamicsEdgePair
static EdgePair kTopologyDynamicsToEqualizerEdgePair
static EdgePair kTopologyEqualizerToGainEdgePair
static EdgePair kTopologyGainToMuteEdgePair
static EdgePair kTopologyMuteToDaiEdgePair
static EdgePair kTopologySourceDualSupportPsOutputEdgePair
static Topology kInputOnlyTopology
static Topology kPacketStreamCaptureTopology
static Topology kFullDuplexTopology
static Topology kOutputOnlyTopology
static Topology kPacketStreamOutputTopology
static Topology kOutputWithProcessingTopology
static Topology kSourceDualSupportPsOutputTopology
static vector kTopologies
Public Methods
void FakeComposite (zx::channelserver_end,zx::channelclient_end,async_dispatcher_t *dispatcher)
Defined at line 215 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void ~FakeComposite ()
Defined at line 225 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
fidl::ClientEnd<fuchsia_hardware_audio::Composite> Enable ()
This returns a fidl::client_end
<fuchsia
_hardware_audio::Composite>. The driver will not start
serving requests until Enable is called, which is why we separate construction and Enable().
Defined at line 348 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropComposite ()
From the device side, drop the Composite protocol connection as if the device has been removed.
Defined at line 228 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropChildren ()
Defined at line 235 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropRingBuffers ()
From the driver side, drop all RingBuffer protocol connections for this device.
Defined at line 272 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropPacketStreams ()
From the driver side, drop all PacketStream protocol connection for this device.
Defined at line 281 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropRingBuffer (ElementId element_id)
From the driver side, drop the RingBuffer protocol connection for this element_id.
Defined at line 290 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DropPacketStream (ElementId element_id)
From the driver side, drop the PacketStream protocol connection for this element_id.
Defined at line 303 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void on_rb_unbind (FakeCompositeRingBuffer *fake_ring_buffer,fidl::UnbindInfoinfo,fidl::ServerEnd<fuchsia_hardware_audio::RingBuffer>)
static
Defined at line 316 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void on_ps_unbind (FakeCompositePacketStream *fake_packet_stream,fidl::UnbindInfoinfo,fidl::ServerEnd<fuchsia_hardware_audio::PacketStreamControl>)
Defined at line 323 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void RingBufferWasDropped (ElementId element_id)
The RingBuffer FIDL connection has already been dropped, so there's nothing else for the parent
driver to do, except clean up our accounting.
Defined at line 332 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void PacketStreamWasDropped (ElementId element_id)
The PacketStream FIDL connection has already been dropped, so there's nothing else for the parent
driver to do, except clean up our accounting.
Defined at line 341 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void NotImplemented_ (const std::string & name, ::fidl::CompleterBase & completer)
Defined at line 379 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void InjectPacketStreamBufferTypes (ElementId element_id, fuchsia_hardware_audio::BufferType buffer_types)
Defined at line 400 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void InjectPacketStreamAllocateVmosError (ElementId element_id, zx_status_t error)
Defined at line 404 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void InjectPacketStreamRegisterVmosError (ElementId element_id, zx_status_t error)
Defined at line 407 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
async_dispatcher_t * dispatcher ()
Defined at line 419 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
bool is_bound ()
Defined at line 420 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
bool responsive ()
Defined at line 422 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_unresponsive ()
Once we mark a device unresponsive, it cannot correctly transition back to responsive state.
Defined at line 424 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
std::optional<bool> health_state ()
Defined at line 425 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_health_state (std::optional<bool> healthy)
Defined at line 426 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_device_manufacturer (std::optional<std::string> mfgr)
Defined at line 428 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_device_product (std::optional<std::string> product)
Defined at line 429 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_stream_unique_id (std::optional<UniqueId> uid)
Defined at line 430 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void set_clock_domain (std::optional<ClockDomain> clock_domain)
Defined at line 437 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
bool is_element_type (ElementId element_id, fuchsia_hardware_audio_signalprocessing::ElementType element_type)
Defined at line 439 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.h
void ReserveRingBufferSize (ElementId element_id, size_t size)
These may be called before the RingBuffer object is created; info must be cached until then.
Defined at line 624 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void EnableActiveChannelsSupport (ElementId element_id)
Defined at line 628 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void DisableActiveChannelsSupport (ElementId element_id)
Defined at line 631 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void PresetTurnOnDelay (ElementId element_id, std::optional<zx::duration> turn_on_delay)
Defined at line 634 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void PresetInternalExternalDelays (ElementIdelement_id,zx::durationinternal_delay,std::optional<zx::duration>external_delay)
Defined at line 638 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
uint64_t RingBufferActiveChannelsBitmask (ElementId element_id)
These rely on the RingBuffer being created; do not use them to pre-configure the RingBuffer.
Defined at line 1197 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
zx::time RingBufferSetActiveChannelsCompletedAt (ElementId element_id)
Defined at line 1202 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
bool RingBufferStarted (ElementId element_id)
Defined at line 1207 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
zx::time RingBufferMonoStartTime (ElementId element_id)
Defined at line 1225 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void RingBufferInjectDelayUpdate (ElementIdelement_id,std::optional<zx::duration>internal_delay,std::optional<zx::duration>external_delay)
Defined at line 1238 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void InjectTopologyChange (std::optional<TopologyId> topology_id)
Inject std::nullopt to simulate "no topology", such as at power-up or after Reset().
Defined at line 1142 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void InjectElementStateChange (ElementId element_id, fuchsia_hardware_audio_signalprocessing::ElementState new_state)
Defined at line 1055 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
bool PacketStreamStarted (ElementId element_id)
Defined at line 1216 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
zx::time PacketStreamMonoStartTime (ElementId element_id)
Defined at line 1230 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void Reset (ResetCompleter::Sync & completer)
fuchsia_hardware_audio::Composite implementation
Defined at line 507 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetProperties (GetPropertiesCompleter::Sync & completer)
Defined at line 531 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetRingBufferFormats (GetRingBufferFormatsRequest & request, GetRingBufferFormatsCompleter::Sync & completer)
Defined at line 558 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void CreateRingBuffer (CreateRingBufferRequest & request, CreateRingBufferCompleter::Sync & completer)
Defined at line 644 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetPacketStreamFormats (GetPacketStreamFormatsRequest & request, GetPacketStreamFormatsCompleter::Sync & completer)
Defined at line 591 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void CreatePacketStream (CreatePacketStreamRequest & request, CreatePacketStreamCompleter::Sync & completer)
Defined at line 742 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetDaiFormats (GetDaiFormatsRequest & request, GetDaiFormatsCompleter::Sync & completer)
Defined at line 807 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void SetDaiFormat (SetDaiFormatRequest & request, SetDaiFormatCompleter::Sync & completer)
Defined at line 919 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetHealthState (GetHealthStateCompleter::Sync & completer)
fuchsia_hardware_audio.Health implementation
Defined at line 473 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void SignalProcessingConnect (SignalProcessingConnectRequest & request, SignalProcessingConnectCompleter::Sync & completer)
fuchsia_hardware_audio_signalprocessing.Connector implementation
Defined at line 488 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetElements (GetElementsCompleter::Sync & completer)
fuchsia_hardware_audio_signalprocessing::SignalProcessing implementation (including Reader)
Defined at line 946 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void GetTopologies (GetTopologiesCompleter::Sync & completer)
Return our static topology list.
Defined at line 959 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void WatchElementState (WatchElementStateRequest & request, WatchElementStateCompleter::Sync & completer)
Defined at line 971 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void WatchTopology (WatchTopologyCompleter::Sync & completer)
Defined at line 1086 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void SetElementState (SetElementStateRequest & request, SetElementStateCompleter::Sync & completer)
Defined at line 1001 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void SetTopology (SetTopologyRequest & request, SetTopologyCompleter::Sync & completer)
Defined at line 1106 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_audio_signalprocessing::SignalProcessing> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 1173 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
void handle_unknown_method (fidl::UnknownMethodMetadata<fuchsia_hardware_audio::Composite> metadata, fidl::UnknownMethodCompleter::Sync & completer)
Defined at line 1185 of file ../../src/media/audio/services/device_registry/testing/fakes/fake_composite.cc
Friends
class FakeCompositePacketStream
class FakeCompositeRingBuffer