blob: b3638de4a3193dec58da584f0eb15562766b42ed [file] [log] [blame]
// Copyright 2018 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.hardware.audiotypes;
type AudioTypesAudioSampleFormat = strict enum : uint32 {
BITSTREAM = 0x1; // 1 << 0
EIGHT_BIT = 0x2; // 1 << 1
SIXTEEN_BIT = 0x4; // 1 << 2
TWENTY_BIT_PACKED = 0x10; // 1 << 4
TWENTY_FOUR_BIT_PACKED = 0x20; // 1 << 5
TWENTY_BIT_IN32 = 0x40; // 1 << 6
TWENTY_FOUR_BIT_IN32 = 0x80; // 1 << 7
THIRTY_TWO_BIT = 0x100; // 1 << 8
THIRTY_TWO_BIT_FLOAT = 0x200; // 1 << 9
FLAG_UNSIGNED = 0x4000; // 1 << 30
FLAG_INVERT_ENDIAN = 0x8000; // 1 << 31
FLAG_MASK = 0xC000; // FLAG_UNSIGNED | FLAG_INVERT_ENDIAN
};
@packed
type AudioTypesAudioStreamFormatRange = struct {
sample_formats AudioTypesAudioSampleFormat;
min_frames_per_second uint32;
max_frames_per_second uint32;
min_channels uint8;
max_channels uint8;
flags uint16;
};