this repo has no description
1#ifndef AT_AUDIO_FORMAT_H
2#define AT_AUDIO_FORMAT_H
3#include <CoreAudio/CoreAudioTypes.h>
4
5#ifdef __cplusplus
6extern "C" {
7#endif
8
9typedef UInt32 AudioFormatPropertyID;
10typedef UInt32 AudioPanningMode; enum {
11 kPanningMode_SoundField = 3,
12 kPanningMode_VectorBasedPanning = 4
13};
14struct AudioPanningInfo {
15 AudioPanningMode mPanningMode;
16 UInt32 mCoordinateFlags;
17 Float32 mCoordinates[3];
18 Float32 mGainScale;
19 const AudioChannelLayout * mOutputChannelMap;
20};
21typedef struct AudioPanningInfo AudioPanningInfo;
22typedef UInt32 AudioBalanceFadeType; enum {
23 kAudioBalanceFadeType_MaxUnityGain = 0,
24 kAudioBalanceFadeType_EqualPower = 1
25};
26struct AudioBalanceFade
27{
28 Float32 mLeftRightBalance;
29 Float32 mBackFrontFade;
30 AudioBalanceFadeType mType;
31 const AudioChannelLayout* mChannelLayout;
32};
33typedef struct AudioBalanceFade AudioBalanceFade;
34struct AudioFormatInfo
35{
36 AudioStreamBasicDescription mASBD;
37 const void* mMagicCookie;
38 UInt32 mMagicCookieSize;
39};
40typedef struct AudioFormatInfo AudioFormatInfo;
41struct ExtendedAudioFormatInfo
42{
43 AudioStreamBasicDescription mASBD;
44 const void* _Nullable mMagicCookie;
45 UInt32 mMagicCookieSize;
46 AudioClassDescription mClassDescription;
47};
48typedef struct ExtendedAudioFormatInfo ExtendedAudioFormatInfo;
49struct AudioFormatListItem
50{
51 AudioStreamBasicDescription mASBD;
52 AudioChannelLayoutTag mChannelLayoutTag;
53};
54typedef struct AudioFormatListItem AudioFormatListItem;
55enum
56{
57 kAudioFormatProperty_FormatInfo = 'fmti',
58 kAudioFormatProperty_FormatName = 'fnam',
59 kAudioFormatProperty_EncodeFormatIDs = 'acof',
60 kAudioFormatProperty_DecodeFormatIDs = 'acif',
61 kAudioFormatProperty_FormatList = 'flst',
62 kAudioFormatProperty_ASBDFromESDS = 'essd',
63 kAudioFormatProperty_ChannelLayoutFromESDS = 'escl',
64 kAudioFormatProperty_OutputFormatList = 'ofls',
65 kAudioFormatProperty_FirstPlayableFormatFromList = 'fpfl',
66 kAudioFormatProperty_FormatIsVBR = 'fvbr',
67 kAudioFormatProperty_FormatIsExternallyFramed = 'fexf',
68 kAudioFormatProperty_FormatIsEncrypted = 'cryp',
69 kAudioFormatProperty_Encoders = 'aven',
70 kAudioFormatProperty_Decoders = 'avde',
71 kAudioFormatProperty_AvailableEncodeBitRates = 'aebr',
72 kAudioFormatProperty_AvailableEncodeSampleRates = 'aesr',
73 kAudioFormatProperty_AvailableEncodeChannelLayoutTags = 'aecl',
74 kAudioFormatProperty_AvailableEncodeNumberChannels = 'avnc',
75 kAudioFormatProperty_ASBDFromMPEGPacket = 'admp',
76 kAudioFormatProperty_BitmapForLayoutTag = 'bmtg',
77 kAudioFormatProperty_MatrixMixMap = 'mmap',
78 kAudioFormatProperty_ChannelMap = 'chmp',
79 kAudioFormatProperty_NumberOfChannelsForLayout = 'nchm',
80 kAudioFormatProperty_AreChannelLayoutsEquivalent = 'cheq',
81 kAudioFormatProperty_ChannelLayoutHash = 'chha',
82 kAudioFormatProperty_ValidateChannelLayout = 'vacl',
83 kAudioFormatProperty_ChannelLayoutForTag = 'cmpl',
84 kAudioFormatProperty_TagForChannelLayout = 'cmpt',
85 kAudioFormatProperty_ChannelLayoutName = 'lonm',
86 kAudioFormatProperty_ChannelLayoutSimpleName = 'lsnm',
87 kAudioFormatProperty_ChannelLayoutForBitmap = 'cmpb',
88 kAudioFormatProperty_ChannelName = 'cnam',
89 kAudioFormatProperty_ChannelShortName = 'csnm',
90
91 kAudioFormatProperty_TagsForNumberOfChannels = 'tagc',
92 kAudioFormatProperty_PanningMatrix = 'panm',
93 kAudioFormatProperty_BalanceFade = 'balf',
94
95 kAudioFormatProperty_ID3TagSize = 'id3s',
96 kAudioFormatProperty_ID3TagToDictionary = 'id3d'
97};
98extern OSStatus
99AudioFormatGetPropertyInfo( AudioFormatPropertyID inPropertyID,
100 UInt32 inSpecifierSize,
101 const void * _Nullable inSpecifier,
102 UInt32 * outPropertyDataSize);
103extern OSStatus
104AudioFormatGetProperty( AudioFormatPropertyID inPropertyID,
105 UInt32 inSpecifierSize,
106 const void * _Nullable inSpecifier,
107 UInt32 * _Nullable ioPropertyDataSize,
108 void * _Nullable outPropertyData);
109
110enum
111{
112 kAudioFormatUnspecifiedError = 'what',
113 kAudioFormatUnsupportedPropertyError = 'prop',
114 kAudioFormatBadPropertySizeError = '!siz',
115 kAudioFormatBadSpecifierSizeError = '!spc',
116 kAudioFormatUnsupportedDataFormatError = 'fmt?',
117 kAudioFormatUnknownFormatError = '!fmt'
118};
119
120#ifdef __cplusplus
121}
122#endif
123
124#endif