| // 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; |
| |
| enum AudioTypesAudioSampleFormat : uint32 { |
| BITSTREAM = 0x1; // 1 << 0 |
| 8BIT = 0x2; // 1 << 1 |
| 16BIT = 0x4; // 1 << 2 |
| 20BIT_PACKED = 0x10; // 1 << 4 |
| 24BIT_PACKED = 0x20; // 1 << 5 |
| 20BIT_IN32 = 0x40; // 1 << 6 |
| 24BIT_IN32 = 0x80; // 1 << 7 |
| 32BIT = 0x100; // 1 << 8 |
| 32BIT_FLOAT = 0x200; // 1 << 9 |
| |
| FLAG_UNSIGNED = 0x4000; // 1 << 30 |
| FLAG_INVERT_ENDIAN = 0x8000; // 1 << 31 |
| FLAG_MASK = 0xC000; // FLAG_UNSIGNED | FLAG_INVERT_ENDIAN |
| }; |
| |
| [Packed] |
| struct AudioTypesAudioStreamFormatRange { |
| AudioTypesAudioSampleFormat sample_formats; |
| uint32 min_frames_per_second; |
| uint32 max_frames_per_second; |
| uint8 min_channels; |
| uint8 max_channels; |
| uint16 flags; |
| }; |