template <>

class WireServer

Defined at line 12264 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_messaging.h

Pure-virtual interface to be implemented by a server.

This interface uses typed channels (i.e. |::fidl::ClientEnd

<

::fuchsia_media::AudioCore>|

and |::fidl::ServerEnd

<

::fuchsia_media::AudioCore>|).

Public Methods

void CreateAudioRenderer (::fuchsia_media::wire::AudioCoreCreateAudioRendererRequest * request, CreateAudioRendererCompleter::Sync & completer)

Creates an AudioRenderer which outputs audio to the default device.

void CreateAudioCapturerWithConfiguration (::fuchsia_media::wire::AudioCoreCreateAudioCapturerWithConfigurationRequest * request, CreateAudioCapturerWithConfigurationCompleter::Sync & completer)

Creates an AudioCapturer according to the given requirements.

`pcm_stream_type` sets the stream type of the stream to be delivered.

It causes the source material to be reformatted/resampled if needed

in order to produce the requested stream type.

`usage` is used by Fuchsia to make decisions about user experience.

See `AudioCaptureUsage` for more details.

`configuration` must be initialized to a variant, or no capturer

can be created.

void CreateAudioCapturer (::fuchsia_media::wire::AudioCoreCreateAudioCapturerRequest * request, CreateAudioCapturerCompleter::Sync & completer)

Creates an AudioCapturer which either captures from the current default

audio input device, or loops-back from the current default audio output

device based on value passed for the loopback flag.

void SetRenderUsageGain (::fuchsia_media::wire::AudioCoreSetRenderUsageGainRequest * request, SetRenderUsageGainCompleter::Sync & completer)

Sets the gain for this render usage. By default, all render usages are set to Unity (0 db).

void SetRenderUsageGain2 (::fuchsia_media::wire::AudioCoreSetRenderUsageGain2Request * request, SetRenderUsageGain2Completer::Sync & completer)

Sets the gain for this render usage. By default, all render usages are set to Unity (0 db).

void SetCaptureUsageGain (::fuchsia_media::wire::AudioCoreSetCaptureUsageGainRequest * request, SetCaptureUsageGainCompleter::Sync & completer)

Sets gain for this capture usage. By default, all capture usages are set to Unity (0 db).

void SetCaptureUsageGain2 (::fuchsia_media::wire::AudioCoreSetCaptureUsageGain2Request * request, SetCaptureUsageGain2Completer::Sync & completer)

Sets gain for this capture usage. By default, all capture usages are set to Unity (0 db).

void BindUsageVolumeControl (::fuchsia_media::wire::AudioCoreBindUsageVolumeControlRequest * request, BindUsageVolumeControlCompleter::Sync & completer)

Binds to a volume control protocol for the given usage.

void BindUsageVolumeControl2 (::fuchsia_media::wire::AudioCoreBindUsageVolumeControl2Request * request, BindUsageVolumeControl2Completer::Sync & completer)

Binds to a volume control protocol for the given usage.

void GetVolumeFromDb (::fuchsia_media::wire::AudioCoreGetVolumeFromDbRequest * request, GetVolumeFromDbCompleter::Sync & completer)

Queries the volume percentage [0, 1] that maps to a `gain_db` value for a particular

`usage`. This is the same mapping as used by the VolumeControl from

`BindUsageVolumeControl`.

void GetVolumeFromDb2 (::fuchsia_media::wire::AudioCoreGetVolumeFromDb2Request * request, GetVolumeFromDb2Completer::Sync & completer)

Queries the volume percentage [0, 1] that maps to a `gain_db` value for a particular

`usage`. This is the same mapping as used by the VolumeControl from

`BindUsageVolumeControl`.

void GetDbFromVolume (::fuchsia_media::wire::AudioCoreGetDbFromVolumeRequest * request, GetDbFromVolumeCompleter::Sync & completer)

Queries the decibel value that maps to a volume percentage [0, 1] for a particular `usage`.

This is the same mapping as used by the VolumeControl from `BindUsageVolumeControl`.

void GetDbFromVolume2 (::fuchsia_media::wire::AudioCoreGetDbFromVolume2Request * request, GetDbFromVolume2Completer::Sync & completer)

Queries the decibel value that maps to a volume percentage [0, 1] for a particular `usage`.

This is the same mapping as used by the VolumeControl from `BindUsageVolumeControl`.

void SetInteraction (::fuchsia_media::wire::AudioCoreSetInteractionRequest * request, SetInteractionCompleter::Sync & completer)

Sets how audio_core handles interactions of multiple active streams simultaneously. If

streams of Usage `active` are processing audio, and streams of Usage `affected` are as well,

the Behavior specified will be applied to the streams of Usage `affected`.

void SetInteraction2 (::fuchsia_media::wire::AudioCoreSetInteraction2Request * request, SetInteraction2Completer::Sync & completer)

Sets how audio_core handles interactions of multiple active streams simultaneously. If

streams of Usage `active` are processing audio, and streams of Usage `affected` are as well,

the Behavior specified will be applied to the streams of Usage `affected`.

void ResetInteractions (ResetInteractionsCompleter::Sync & completer)

Re-initializes the set of rules that are currently governing the interaction of streams in

audio_core. The default behavior is 'NONE'.

void LoadDefaults (LoadDefaultsCompleter::Sync & completer)

Re-loads the platform policy configuration. Falls back to a default config if the platform

does not provide a config.

void WireServer ()

Defined at line 12267 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_messaging.h

Handler bind_handler (async_dispatcher_t * dispatcher)

|bind_handler| returns a handler that binds incoming connections to this

server implementation.

The returned handler borrows the server instance.

The server must outlive the provided |dispatcher|. Only after

the dispatcher is shutdown will it be safe to destroy the servers.

The server should not be moved.

void ~WireServer ()

Defined at line 12268 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/wire_messaging.h