Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
4.1 kB · 124 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125#ifndef AT_AUDIO_FORMAT_H#define AT_AUDIO_FORMAT_H#include <CoreAudio/CoreAudioTypes.h>
#ifdef __cplusplusextern "C" {#endif
typedef UInt32 AudioFormatPropertyID;typedef UInt32 AudioPanningMode; enum { kPanningMode_SoundField = 3, kPanningMode_VectorBasedPanning = 4};struct AudioPanningInfo { AudioPanningMode mPanningMode; UInt32 mCoordinateFlags; Float32 mCoordinates[3]; Float32 mGainScale; const AudioChannelLayout * mOutputChannelMap;};typedef struct AudioPanningInfo AudioPanningInfo;typedef UInt32 AudioBalanceFadeType; enum { kAudioBalanceFadeType_MaxUnityGain = 0, kAudioBalanceFadeType_EqualPower = 1};struct AudioBalanceFade{ Float32 mLeftRightBalance; Float32 mBackFrontFade; AudioBalanceFadeType mType; const AudioChannelLayout* mChannelLayout;};typedef struct AudioBalanceFade AudioBalanceFade;struct AudioFormatInfo{ AudioStreamBasicDescription mASBD; const void* mMagicCookie; UInt32 mMagicCookieSize;};typedef struct AudioFormatInfo AudioFormatInfo;struct ExtendedAudioFormatInfo{ AudioStreamBasicDescription mASBD; const void* _Nullable mMagicCookie; UInt32 mMagicCookieSize; AudioClassDescription mClassDescription;};typedef struct ExtendedAudioFormatInfo ExtendedAudioFormatInfo;struct AudioFormatListItem{ AudioStreamBasicDescription mASBD; AudioChannelLayoutTag mChannelLayoutTag;};typedef struct AudioFormatListItem AudioFormatListItem;enum{ kAudioFormatProperty_FormatInfo = 'fmti', kAudioFormatProperty_FormatName = 'fnam', kAudioFormatProperty_EncodeFormatIDs = 'acof', kAudioFormatProperty_DecodeFormatIDs = 'acif', kAudioFormatProperty_FormatList = 'flst', kAudioFormatProperty_ASBDFromESDS = 'essd', kAudioFormatProperty_ChannelLayoutFromESDS = 'escl', kAudioFormatProperty_OutputFormatList = 'ofls', kAudioFormatProperty_FirstPlayableFormatFromList = 'fpfl', kAudioFormatProperty_FormatIsVBR = 'fvbr', kAudioFormatProperty_FormatIsExternallyFramed = 'fexf', kAudioFormatProperty_FormatIsEncrypted = 'cryp', kAudioFormatProperty_Encoders = 'aven', kAudioFormatProperty_Decoders = 'avde', kAudioFormatProperty_AvailableEncodeBitRates = 'aebr', kAudioFormatProperty_AvailableEncodeSampleRates = 'aesr', kAudioFormatProperty_AvailableEncodeChannelLayoutTags = 'aecl', kAudioFormatProperty_AvailableEncodeNumberChannels = 'avnc', kAudioFormatProperty_ASBDFromMPEGPacket = 'admp', kAudioFormatProperty_BitmapForLayoutTag = 'bmtg', kAudioFormatProperty_MatrixMixMap = 'mmap', kAudioFormatProperty_ChannelMap = 'chmp', kAudioFormatProperty_NumberOfChannelsForLayout = 'nchm', kAudioFormatProperty_AreChannelLayoutsEquivalent = 'cheq', kAudioFormatProperty_ChannelLayoutHash = 'chha', kAudioFormatProperty_ValidateChannelLayout = 'vacl', kAudioFormatProperty_ChannelLayoutForTag = 'cmpl', kAudioFormatProperty_TagForChannelLayout = 'cmpt', kAudioFormatProperty_ChannelLayoutName = 'lonm', kAudioFormatProperty_ChannelLayoutSimpleName = 'lsnm', kAudioFormatProperty_ChannelLayoutForBitmap = 'cmpb', kAudioFormatProperty_ChannelName = 'cnam', kAudioFormatProperty_ChannelShortName = 'csnm',
kAudioFormatProperty_TagsForNumberOfChannels = 'tagc', kAudioFormatProperty_PanningMatrix = 'panm', kAudioFormatProperty_BalanceFade = 'balf',
kAudioFormatProperty_ID3TagSize = 'id3s', kAudioFormatProperty_ID3TagToDictionary = 'id3d'};extern OSStatusAudioFormatGetPropertyInfo( AudioFormatPropertyID inPropertyID, UInt32 inSpecifierSize, const void * _Nullable inSpecifier, UInt32 * outPropertyDataSize);extern OSStatusAudioFormatGetProperty( AudioFormatPropertyID inPropertyID, UInt32 inSpecifierSize, const void * _Nullable inSpecifier, UInt32 * _Nullable ioPropertyDataSize, void * _Nullable outPropertyData);
enum{ kAudioFormatUnspecifiedError = 'what', kAudioFormatUnsupportedPropertyError = 'prop', kAudioFormatBadPropertySizeError = '!siz', kAudioFormatBadSpecifierSizeError = '!spc', kAudioFormatUnsupportedDataFormatError = 'fmt?', kAudioFormatUnknownFormatError = '!fmt'};
#ifdef __cplusplus}#endif
#endif