blob: e66d3d27a948b0c866916ad635f4cae073cb3e04 [file] [log] [blame]
// Copyright 2022 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.audio;
/// The maximum size of `Compression.parameters`.
const MAX_COMPRESSION_PARAMETERS_SIZE uint64 = 32768;
/// Describes the compression applied to a stream.
type Compression = table {
/// The type of compression applied to the stream.
1: type CompressionType;
/// Opaque ‘out-of-band’ parameters describing the compression of the stream. The format of
/// this field is a function of the `CompressionType`. It communicates to decoders parameters
/// that are required to decompress the described stream. Many compression types do not require
/// this field.
2: oob_parameters vector<uint8>:<MAX_COMPRESSION_PARAMETERS_SIZE>;
};
// Type of compression applied to a stream.
type CompressionType = flexible enum {
NONE = 0;
AAC = 1;
AACLATM = 2;
AMRNB = 3;
AMRWB = 4;
APTX = 5;
FLAC = 6;
GSMMS = 7;
MP3 = 8;
PCMALAW = 9;
PCMMULAW = 10;
SBC = 11;
VORBIS = 12;
OPUS = 13;
};