Namespaces

Enumerations

enum class AudioRenderUsage : uint32_t
Name Value Comments
kBackground 0u

Stream is intended to be used for ambient or background sound. Streams
that can be interrupted without consequence should use this.

kMedia 1u

Stream is intended to be used for normal functionality. Streams that
are part of normal functionality should use this.

kInterruption 2u

Stream is intended to interrupt any ongoing function of the device.
Streams that are used for interruptions like notifications should use
this.

kSystemAgent 3u

Stream is for interaction with a system agent. This should be used
in response to a user initiated trigger.

kCommunication 4u

Stream is intended to be used for some form of real time user to user
communication. Voice/Video chat should use this.

Usage annotating the purpose of the stream being used to render audio.

An AudioRenderer's usage cannot be changed after creation. The

AudioRenderUsage is used by audio policy to dictate how audio streams

interact with each other.

Defined at line 323 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioCaptureUsage : uint32_t
Name Value Comments
kBackground 0u

Stream is used to capture audio while in the background. These streams
may be active at any the time and are considered privileged.
Example: Listening for Hotwords

kForeground 1u

Stream is intended to be used for normal capture functionality. Streams
that are used for audio capture while the stream creator is in the
foreground should use this.
Example: Voice Recorder

kSystemAgent 2u

Stream is for interaction with a system agent. This should only be used
once a user has signalled their intent to have the interaction with an
interested party.
Examples: Assistant, Siri, Alexa

kCommunication 3u

Stream is intended to be used for some form of real time user to user
communication. Voice/Video chat should use this.

Usages annotating the purpose of the stream being used to capture audio. The

AudioCaptureUsage is used by audio policy to dictate how audio streams

interact with each other.

Defined at line 492 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioOutputRoutingPolicy : uint32_t
Name Value
kAllPluggedOutputs 0u
kLastPluggedOutput 1u

Defined at line 716 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class StreamError : uint32_t
Name Value Comments
kUnknown 1u

An internal error with an unspecified reason.

kInvalidInputFormatDetails 2u

The client provided invalid input format details.

kIncompatibleBuffersProvided 3u

The server received buffers that are not suitable for the operation to
be performed. An example of this would be if a Decoder received output
buffers that are too small to decode a frame into.

kEosProcessing 4u

Processing of input EOS (end of stream) failed, so the stream failed.
Currently this can occur if a core codec watchdog fires while processing
EOS.

kDecoderUnknown 16777217u

An internal decoder error with an unspecified reason.

kDecoderDataParsing 16777218u

Input data that can't be parsed. Only some parsing problems/errors are
reported this way. Corrupt input data may be reported as other
StreamError, or may not cause a StreamError.

kEncoderUnknown 33554433u

An internal encoder error with an unspecified reason.

kDecryptorUnknown 50331649u

An internal decryptor error with an unspecified reason.

kDecryptorNoKey 50331650u

The requested KeyId is not available for use by the Decryptor. The
client may try again later if that key becomes available.

StreamError

This error code encapsulates various errors that might emanate from a

StreamProcessor server. It can be sent either as an OnStreamFailed event or

as an epitaph for the channel.

Defined at line 744 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioBitrateMode : uint32_t
Name Value
kUnspecified 0u
kCbr 1u
kVbr 2u

Defined at line 797 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioPcmMode : uint32_t
Name Value
kLinear 0u
kAlaw 1u
kMulaw 2u

AudioPcmMode

Defined at line 823 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioChannelId : uint32_t
Name Value
kSkip 0u
kLf 1u
kRf 2u
kCf 3u
kLs 4u
kRs 5u
kLfe 6u
kCs 7u
kLr 8u
kRr 9u
kEndDefined 10u
kExtendedChannelIdBase 1862270976u
kMax 2147483647u

AudioChannelId

Used in specifying which audio channel is for which speaker location / type.

TODO(dustingreen): Do we need more channel IDs than this?

Defined at line 853 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class VideoColorSpace : uint32_t
Name Value
kInvalid 0u

Defined at line 898 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class SbcSubBands : uint32_t
Name Value
kSubBands4 4u
kSubBands8 8u

Defined at line 919 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class SbcBlockCount : uint32_t
Name Value
kBlockCount4 4u
kBlockCount8 8u
kBlockCount12 12u
kBlockCount16 16u

Defined at line 942 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class SbcAllocation : uint32_t
Name Value
kAllocLoudness 0u
kAllocSnr 1u

Defined at line 969 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class SbcChannelMode : uint32_t
Name Value
kMono 0u
kDual 1u
kStereo 2u
kJointStereo 3u

Defined at line 992 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AacChannelMode : uint32_t
Name Value
kMono 0u
kStereo 2u

Defined at line 1019 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AacVariableBitRate : uint32_t
Name Value
kV1 1u
kV2 2u
kV3 3u
kV4 4u
kV5 5u

Variable bit rate modes. The actual resulting bitrate

varies based on input signal and other encoding settings.

See https://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Bitrate_Modes

Defined at line 1046 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AacAudioObjectType : uint32_t
Name Value Comments
kMpeg2AacLc 0u

MPEG-2 Low Complexity

kMpeg4AacLc 1u

MPEG-4 Low Complexity

Defined at line 1075 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class AudioSampleFormat : uint32_t
Name Value Comments
kUnsigned8 1u

8-bit unsigned samples, sample size 1 byte.

kSigned16 2u

16-bit signed samples, host-endian, sample size 2 bytes.

kSigned24In32 3u

24-bit signed samples in 32 bits, host-endian, sample size 4 bytes.

kFloat 4u

32-bit floating-point samples, sample size 4 bytes.

Enumerates the supported audio sample formats.

Defined at line 1375 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

enum class ColorSpace : uint32_t
Name Value
kUnknown 0u
kNotApplicable 1u
kJpeg 2u
kHdRec709 3u
kSdRec601 4u

Defined at line 1406 of file fidling/gen/sdk/fidl/fuchsia.media/fuchsia.media/cpp/fidl/fuchsia.media/cpp/common_types.h

Records

Variables

const char * kAudioEncodingAac
const char * kAudioEncodingAaclatm
const char * kAudioEncodingAmrnb
const char * kAudioEncodingAmrwb
const char * kAudioEncodingAptx
const char * kAudioEncodingFlac
const char * kAudioEncodingGsmms
const char * kAudioEncodingLpcm
const char * kAudioEncodingMp3
const char * kAudioEncodingOpus
const char * kAudioEncodingPcmalaw
const char * kAudioEncodingPcmmulaw
const char * kAudioEncodingSbc
const char * kAudioEncodingVorbis
const char * kEncryptionSchemeCbc1
const char * kEncryptionSchemeCbcs
const char * kEncryptionSchemeCenc
const char * kEncryptionSchemeCens
const char * kEncryptionSchemeUnencrypted
const char * kMetadataLabelAlbum
const char * kMetadataLabelArtist
const char * kMetadataLabelComposer
const char * kMetadataLabelEpisode
const char * kMetadataLabelGenre
const char * kMetadataLabelPublisher
const char * kMetadataLabelReleaseDate
const char * kMetadataLabelSeason
const char * kMetadataLabelStudio
const char * kMetadataLabelSubtitle
const char * kMetadataLabelTitle
const char * kMetadataLabelTrackNumber
const char * kMetadataSourceTitle
const char * kVideoEncodingH263
const char * kVideoEncodingH264
const char * kVideoEncodingMpeg4
const char * kVideoEncodingTheora
const char * kVideoEncodingUncompressed
const char * kVideoEncodingVp3
const char * kVideoEncodingVp8
const char * kVideoEncodingVp9