class AudioDeviceManager
Defined at line 34 of file ../../src/media/audio/audio_core/audio_device_manager.h
Public Methods
void AudioDeviceManager (ThreadingModel &threading_model,std::unique_ptr<PlugDetector>plug_detector,LinkMatrix &link_matrix,ProcessConfig &process_config,std::shared_ptr<AudioCoreClockFactory>clock_factory,DeviceRouter &device_router,EffectsLoaderV2 *effects_loader_v2)
Defined at line 24 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void ~AudioDeviceManager ()
Defined at line 38 of file ../../src/media/audio/audio_core/audio_device_manager.cc
fidl::InterfaceRequestHandler<fuchsia::media::AudioDeviceEnumerator> GetFidlRequestHandler ()
Defined at line 42 of file ../../src/media/audio/audio_core/audio_device_manager.h
zx_status_t Init ()
Initialize the input/output manager.
Defined at line 44 of file ../../src/media/audio/audio_core/audio_device_manager.cc
ThreadingModel & threading_model ()
Defined at line 46 of file ../../src/media/audio/audio_core/audio_device_manager.h
void Shutdown ()
Blocking call. Called by the service, once, when it is time to shutdown the service
implementation. While this function is blocking, it must never block for long. Our process is
going away; this is our last chance to perform a clean shutdown. If an unclean shutdown must
be performed in order to implode in a timely fashion, so be it.
Shutdown must be idempotent and safe to call from this object's destructor (although this
should never be necessary). If a shutdown called from this destructor must do real work,
something has gone Very Seriously Wrong.
Defined at line 59 of file ../../src/media/audio/audio_core/audio_device_manager.cc
fpromise::promise<void, fuchsia::media::audio::UpdateEffectError> UpdateEffect (const std::string &instance_name,const std::string &message,boolpersist)
Sends an update message to each effect with the name 'instance_name' across all devices.
If 'persist' is true, the effect update is persisted and applied to new devices as they are
plugged. Only the latest update will be persisted for each 'instance_name'.
Returns UpdateEffectError::INVALID_CONFIG if any effect matching 'instance_name' is found, but
rejects 'message'. Returns UpdateEffectError::NOT_FOUND if no effect is found across any
device. Returns success if at least one effect named 'instance_name' has accepted 'message'
without any other effects matching 'effect_name' rejecting the 'message'.
Defined at line 78 of file ../../src/media/audio/audio_core/audio_device_manager.cc
fpromise::promise<void, fuchsia::media::audio::UpdateEffectError> UpdateDeviceEffect (const std::stringdevice_id,const std::string &instance_name,const std::string &message)
Sends an update message to the effect specified by 'instance_name' for the device specified by
'device_id'.
Return values match those of 'UpdateEffect' above, with the addition of an
UpdateEffectError::NOT_FOUND if the device specified by 'device_id' is not found.
Defined at line 110 of file ../../src/media/audio/audio_core/audio_device_manager.cc
fpromise::promise<void, zx_status_t> UpdatePipelineConfig (const std::stringdevice_id,const PipelineConfig &config,const VolumeCurve &volume_curve)
Defined at line 136 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void AddDevice (const std::shared_ptr<AudioDevice> & device)
|media::audio::DeviceRegistry|
Defined at line 178 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void ActivateDevice (const std::shared_ptr<AudioDevice> & device)
Defined at line 194 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void RemoveDevice (const std::shared_ptr<AudioDevice> & device)
Defined at line 262 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void OnPlugStateChanged (const std::shared_ptr<AudioDevice> &device,boolplugged,zx::timeplug_time)
Defined at line 286 of file ../../src/media/audio/audio_core/audio_device_manager.cc
std::vector<fuchsia::media::AudioDeviceInfo> GetDeviceInfos ()
Defined at line 319 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void GetDevices (GetDevicesCallback cbk)
|fuchsia::media::AudioDeviceEnumerator|
Defined at line 335 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void GetDeviceGain (uint64_t device_token, GetDeviceGainCallback cbk)
Defined at line 337 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void SetDeviceGain (uint64_tdevice_token,fuchsia::media::AudioGainInfogain_info,fuchsia::media::AudioGainValidFlags)
Defined at line 352 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void AddDeviceByChannel (std::stringdevice_name,boolis_input,fidl::InterfaceHandle<fuchsia::hardware::audio::StreamConfig>stream_config)
The entry point from AudioDeviceEnumerator FIDL method
Defined at line 473 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void AddDeviceFromDevFs (const std::string &device_name,boolis_input,fidl::InterfaceHandle<fuchsia::hardware::audio::StreamConfig>stream_config)
The entry point from PlugDetector device-watcher (devfs)
Defined at line 484 of file ../../src/media/audio/audio_core/audio_device_manager.cc
void AddDeviceInternal (const std::string &device_name,boolis_input,fidl::InterfaceHandle<fuchsia::hardware::audio::StreamConfig>stream_config)
The common code, once these parallel device-discovery streams come together.
Defined at line 494 of file ../../src/media/audio/audio_core/audio_device_manager.cc