|
|
|
@ -14,7 +14,8 @@ typedef unsigned char Boolean;
|
|
|
|
|
|
|
|
|
|
typedef UInt32 AudioFormatPropertyID;
|
|
|
|
|
|
|
|
|
|
enum { kVariableLengthArray = 1,
|
|
|
|
|
enum {
|
|
|
|
|
kVariableLengthArray = 1,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct OpaqueAudioConverter;
|
|
|
|
@ -84,117 +85,123 @@ typedef OSStatus (*AudioConverterComplexInputDataProc)(
|
|
|
|
|
AudioStreamPacketDescription **outDataPacketDescription,
|
|
|
|
|
void *inUserData);
|
|
|
|
|
|
|
|
|
|
enum { kAudioCodecPropertyNameCFString = 'lnam',
|
|
|
|
|
kAudioCodecPropertyManufacturerCFString = 'lmak',
|
|
|
|
|
kAudioCodecPropertyFormatCFString = 'lfor',
|
|
|
|
|
//kAudioCodecPropertyHasVariablePacketByteSizes = 'vpk?',
|
|
|
|
|
kAudioCodecPropertySupportedInputFormats = 'ifm#',
|
|
|
|
|
kAudioCodecPropertySupportedOutputFormats = 'ofm#',
|
|
|
|
|
kAudioCodecPropertyAvailableInputSampleRates = 'aisr',
|
|
|
|
|
kAudioCodecPropertyAvailableOutputSampleRates = 'aosr',
|
|
|
|
|
kAudioCodecPropertyAvailableBitRateRange = 'abrt',
|
|
|
|
|
kAudioCodecPropertyMinimumNumberInputPackets = 'mnip',
|
|
|
|
|
kAudioCodecPropertyMinimumNumberOutputPackets = 'mnop',
|
|
|
|
|
kAudioCodecPropertyAvailableNumberChannels = 'cmnc',
|
|
|
|
|
kAudioCodecPropertyDoesSampleRateConversion = 'lmrc',
|
|
|
|
|
kAudioCodecPropertyAvailableInputChannelLayoutTags = 'aicl',
|
|
|
|
|
kAudioCodecPropertyAvailableOutputChannelLayoutTags = 'aocl',
|
|
|
|
|
kAudioCodecPropertyInputFormatsForOutputFormat = 'if4o',
|
|
|
|
|
kAudioCodecPropertyOutputFormatsForInputFormat = 'of4i',
|
|
|
|
|
kAudioCodecPropertyFormatInfo = 'acfi',
|
|
|
|
|
enum {
|
|
|
|
|
kAudioCodecPropertyNameCFString = 'lnam',
|
|
|
|
|
kAudioCodecPropertyManufacturerCFString = 'lmak',
|
|
|
|
|
kAudioCodecPropertyFormatCFString = 'lfor',
|
|
|
|
|
//kAudioCodecPropertyHasVariablePacketByteSizes = 'vpk?',
|
|
|
|
|
kAudioCodecPropertySupportedInputFormats = 'ifm#',
|
|
|
|
|
kAudioCodecPropertySupportedOutputFormats = 'ofm#',
|
|
|
|
|
kAudioCodecPropertyAvailableInputSampleRates = 'aisr',
|
|
|
|
|
kAudioCodecPropertyAvailableOutputSampleRates = 'aosr',
|
|
|
|
|
kAudioCodecPropertyAvailableBitRateRange = 'abrt',
|
|
|
|
|
kAudioCodecPropertyMinimumNumberInputPackets = 'mnip',
|
|
|
|
|
kAudioCodecPropertyMinimumNumberOutputPackets = 'mnop',
|
|
|
|
|
kAudioCodecPropertyAvailableNumberChannels = 'cmnc',
|
|
|
|
|
kAudioCodecPropertyDoesSampleRateConversion = 'lmrc',
|
|
|
|
|
kAudioCodecPropertyAvailableInputChannelLayoutTags = 'aicl',
|
|
|
|
|
kAudioCodecPropertyAvailableOutputChannelLayoutTags = 'aocl',
|
|
|
|
|
kAudioCodecPropertyInputFormatsForOutputFormat = 'if4o',
|
|
|
|
|
kAudioCodecPropertyOutputFormatsForInputFormat = 'of4i',
|
|
|
|
|
kAudioCodecPropertyFormatInfo = 'acfi',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioCodecPropertyInputBufferSize = 'tbuf',
|
|
|
|
|
kAudioCodecPropertyPacketFrameSize = 'pakf',
|
|
|
|
|
kAudioCodecPropertyMaximumPacketByteSize = 'pakb',
|
|
|
|
|
kAudioCodecPropertyCurrentInputFormat = 'ifmt',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputFormat = 'ofmt',
|
|
|
|
|
kAudioCodecPropertyMagicCookie = 'kuki',
|
|
|
|
|
kAudioCodecPropertyUsedInputBufferSize = 'ubuf',
|
|
|
|
|
kAudioCodecPropertyIsInitialized = 'init',
|
|
|
|
|
kAudioCodecPropertyCurrentTargetBitRate = 'brat',
|
|
|
|
|
kAudioCodecPropertyCurrentInputSampleRate = 'cisr',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputSampleRate = 'cosr',
|
|
|
|
|
kAudioCodecPropertyQualitySetting = 'srcq',
|
|
|
|
|
kAudioCodecPropertyApplicableBitRateRange = 'brta',
|
|
|
|
|
kAudioCodecPropertyApplicableInputSampleRates = 'isra',
|
|
|
|
|
kAudioCodecPropertyApplicableOutputSampleRates = 'osra',
|
|
|
|
|
kAudioCodecPropertyPaddedZeros = 'pad0',
|
|
|
|
|
kAudioCodecPropertyPrimeMethod = 'prmm',
|
|
|
|
|
kAudioCodecPropertyPrimeInfo = 'prim',
|
|
|
|
|
kAudioCodecPropertyCurrentInputChannelLayout = 'icl ',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputChannelLayout = 'ocl ',
|
|
|
|
|
kAudioCodecPropertySettings = 'acs ',
|
|
|
|
|
kAudioCodecPropertyFormatList = 'acfl',
|
|
|
|
|
kAudioCodecPropertyBitRateControlMode = 'acbf',
|
|
|
|
|
kAudioCodecPropertySoundQualityForVBR = 'vbrq',
|
|
|
|
|
kAudioCodecPropertyMinimumDelayMode = 'mdel' };
|
|
|
|
|
|
|
|
|
|
enum { kAudioCodecBitRateControlMode_Constant = 0,
|
|
|
|
|
kAudioCodecBitRateControlMode_LongTermAverage = 1,
|
|
|
|
|
kAudioCodecBitRateControlMode_VariableConstrained = 2,
|
|
|
|
|
kAudioCodecBitRateControlMode_Variable = 3,
|
|
|
|
|
enum {
|
|
|
|
|
kAudioCodecPropertyInputBufferSize = 'tbuf',
|
|
|
|
|
kAudioCodecPropertyPacketFrameSize = 'pakf',
|
|
|
|
|
kAudioCodecPropertyMaximumPacketByteSize = 'pakb',
|
|
|
|
|
kAudioCodecPropertyCurrentInputFormat = 'ifmt',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputFormat = 'ofmt',
|
|
|
|
|
kAudioCodecPropertyMagicCookie = 'kuki',
|
|
|
|
|
kAudioCodecPropertyUsedInputBufferSize = 'ubuf',
|
|
|
|
|
kAudioCodecPropertyIsInitialized = 'init',
|
|
|
|
|
kAudioCodecPropertyCurrentTargetBitRate = 'brat',
|
|
|
|
|
kAudioCodecPropertyCurrentInputSampleRate = 'cisr',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputSampleRate = 'cosr',
|
|
|
|
|
kAudioCodecPropertyQualitySetting = 'srcq',
|
|
|
|
|
kAudioCodecPropertyApplicableBitRateRange = 'brta',
|
|
|
|
|
kAudioCodecPropertyApplicableInputSampleRates = 'isra',
|
|
|
|
|
kAudioCodecPropertyApplicableOutputSampleRates = 'osra',
|
|
|
|
|
kAudioCodecPropertyPaddedZeros = 'pad0',
|
|
|
|
|
kAudioCodecPropertyPrimeMethod = 'prmm',
|
|
|
|
|
kAudioCodecPropertyPrimeInfo = 'prim',
|
|
|
|
|
kAudioCodecPropertyCurrentInputChannelLayout = 'icl ',
|
|
|
|
|
kAudioCodecPropertyCurrentOutputChannelLayout = 'ocl ',
|
|
|
|
|
kAudioCodecPropertySettings = 'acs ',
|
|
|
|
|
kAudioCodecPropertyFormatList = 'acfl',
|
|
|
|
|
kAudioCodecPropertyBitRateControlMode = 'acbf',
|
|
|
|
|
kAudioCodecPropertySoundQualityForVBR = 'vbrq',
|
|
|
|
|
kAudioCodecPropertyMinimumDelayMode = 'mdel'
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioFormatLinearPCM = 'lpcm',
|
|
|
|
|
kAudioFormatAC3 = 'ac-3',
|
|
|
|
|
kAudioFormat60958AC3 = 'cac3',
|
|
|
|
|
kAudioFormatAppleIMA4 = 'ima4',
|
|
|
|
|
kAudioFormatMPEG4AAC = 'aac ',
|
|
|
|
|
kAudioFormatMPEG4CELP = 'celp',
|
|
|
|
|
kAudioFormatMPEG4HVXC = 'hvxc',
|
|
|
|
|
kAudioFormatMPEG4TwinVQ = 'twvq',
|
|
|
|
|
kAudioFormatMACE3 = 'MAC3',
|
|
|
|
|
kAudioFormatMACE6 = 'MAC6',
|
|
|
|
|
kAudioFormatULaw = 'ulaw',
|
|
|
|
|
kAudioFormatALaw = 'alaw',
|
|
|
|
|
kAudioFormatQDesign = 'QDMC',
|
|
|
|
|
kAudioFormatQDesign2 = 'QDM2',
|
|
|
|
|
kAudioFormatQUALCOMM = 'Qclp',
|
|
|
|
|
kAudioFormatMPEGLayer1 = '.mp1',
|
|
|
|
|
kAudioFormatMPEGLayer2 = '.mp2',
|
|
|
|
|
kAudioFormatMPEGLayer3 = '.mp3',
|
|
|
|
|
kAudioFormatTimeCode = 'time',
|
|
|
|
|
kAudioFormatMIDIStream = 'midi',
|
|
|
|
|
kAudioFormatParameterValueStream = 'apvs',
|
|
|
|
|
kAudioFormatAppleLossless = 'alac',
|
|
|
|
|
kAudioFormatMPEG4AAC_HE = 'aach',
|
|
|
|
|
kAudioFormatMPEG4AAC_LD = 'aacl',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD = 'aace',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD_SBR = 'aacf',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD_V2 = 'aacg',
|
|
|
|
|
kAudioFormatMPEG4AAC_HE_V2 = 'aacp',
|
|
|
|
|
kAudioFormatMPEG4AAC_Spatial = 'aacs',
|
|
|
|
|
kAudioFormatAMR = 'samr',
|
|
|
|
|
kAudioFormatAudible = 'AUDB',
|
|
|
|
|
kAudioFormatiLBC = 'ilbc',
|
|
|
|
|
kAudioFormatDVIIntelIMA = 0x6D730011,
|
|
|
|
|
kAudioFormatMicrosoftGSM = 0x6D730031,
|
|
|
|
|
kAudioFormatAES3 = 'aes3',
|
|
|
|
|
enum {
|
|
|
|
|
kAudioCodecBitRateControlMode_Constant = 0,
|
|
|
|
|
kAudioCodecBitRateControlMode_LongTermAverage = 1,
|
|
|
|
|
kAudioCodecBitRateControlMode_VariableConstrained = 2,
|
|
|
|
|
kAudioCodecBitRateControlMode_Variable = 3,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioFormatFlagIsFloat = (1L << 0),
|
|
|
|
|
kAudioFormatFlagIsBigEndian = (1L << 1),
|
|
|
|
|
kAudioFormatFlagIsSignedInteger = (1L << 2),
|
|
|
|
|
kAudioFormatFlagIsPacked = (1L << 3),
|
|
|
|
|
kAudioFormatFlagIsAlignedHigh = (1L << 4),
|
|
|
|
|
kAudioFormatFlagIsNonInterleaved = (1L << 5),
|
|
|
|
|
kAudioFormatFlagIsNonMixable = (1L << 6),
|
|
|
|
|
kAudioFormatFlagsAreAllClear = (1L << 31),
|
|
|
|
|
enum {
|
|
|
|
|
kAudioFormatLinearPCM = 'lpcm',
|
|
|
|
|
kAudioFormatAC3 = 'ac-3',
|
|
|
|
|
kAudioFormat60958AC3 = 'cac3',
|
|
|
|
|
kAudioFormatAppleIMA4 = 'ima4',
|
|
|
|
|
kAudioFormatMPEG4AAC = 'aac ',
|
|
|
|
|
kAudioFormatMPEG4CELP = 'celp',
|
|
|
|
|
kAudioFormatMPEG4HVXC = 'hvxc',
|
|
|
|
|
kAudioFormatMPEG4TwinVQ = 'twvq',
|
|
|
|
|
kAudioFormatMACE3 = 'MAC3',
|
|
|
|
|
kAudioFormatMACE6 = 'MAC6',
|
|
|
|
|
kAudioFormatULaw = 'ulaw',
|
|
|
|
|
kAudioFormatALaw = 'alaw',
|
|
|
|
|
kAudioFormatQDesign = 'QDMC',
|
|
|
|
|
kAudioFormatQDesign2 = 'QDM2',
|
|
|
|
|
kAudioFormatQUALCOMM = 'Qclp',
|
|
|
|
|
kAudioFormatMPEGLayer1 = '.mp1',
|
|
|
|
|
kAudioFormatMPEGLayer2 = '.mp2',
|
|
|
|
|
kAudioFormatMPEGLayer3 = '.mp3',
|
|
|
|
|
kAudioFormatTimeCode = 'time',
|
|
|
|
|
kAudioFormatMIDIStream = 'midi',
|
|
|
|
|
kAudioFormatParameterValueStream = 'apvs',
|
|
|
|
|
kAudioFormatAppleLossless = 'alac',
|
|
|
|
|
kAudioFormatMPEG4AAC_HE = 'aach',
|
|
|
|
|
kAudioFormatMPEG4AAC_LD = 'aacl',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD = 'aace',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD_SBR = 'aacf',
|
|
|
|
|
kAudioFormatMPEG4AAC_ELD_V2 = 'aacg',
|
|
|
|
|
kAudioFormatMPEG4AAC_HE_V2 = 'aacp',
|
|
|
|
|
kAudioFormatMPEG4AAC_Spatial = 'aacs',
|
|
|
|
|
kAudioFormatAMR = 'samr',
|
|
|
|
|
kAudioFormatAudible = 'AUDB',
|
|
|
|
|
kAudioFormatiLBC = 'ilbc',
|
|
|
|
|
kAudioFormatDVIIntelIMA = 0x6D730011,
|
|
|
|
|
kAudioFormatMicrosoftGSM = 0x6D730031,
|
|
|
|
|
kAudioFormatAES3 = 'aes3',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat,
|
|
|
|
|
kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian,
|
|
|
|
|
kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger,
|
|
|
|
|
kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked,
|
|
|
|
|
kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh,
|
|
|
|
|
kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved,
|
|
|
|
|
kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable,
|
|
|
|
|
kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear,
|
|
|
|
|
enum {
|
|
|
|
|
kAudioFormatFlagIsFloat = (1L << 0),
|
|
|
|
|
kAudioFormatFlagIsBigEndian = (1L << 1),
|
|
|
|
|
kAudioFormatFlagIsSignedInteger = (1L << 2),
|
|
|
|
|
kAudioFormatFlagIsPacked = (1L << 3),
|
|
|
|
|
kAudioFormatFlagIsAlignedHigh = (1L << 4),
|
|
|
|
|
kAudioFormatFlagIsNonInterleaved = (1L << 5),
|
|
|
|
|
kAudioFormatFlagIsNonMixable = (1L << 6),
|
|
|
|
|
kAudioFormatFlagsAreAllClear = (1L << 31),
|
|
|
|
|
|
|
|
|
|
kAppleLosslessFormatFlag_16BitSourceData = 1,
|
|
|
|
|
kAppleLosslessFormatFlag_20BitSourceData = 2,
|
|
|
|
|
kAppleLosslessFormatFlag_24BitSourceData = 3,
|
|
|
|
|
kAppleLosslessFormatFlag_32BitSourceData = 4,
|
|
|
|
|
kLinearPCMFormatFlagIsFloat = kAudioFormatFlagIsFloat,
|
|
|
|
|
kLinearPCMFormatFlagIsBigEndian = kAudioFormatFlagIsBigEndian,
|
|
|
|
|
kLinearPCMFormatFlagIsSignedInteger = kAudioFormatFlagIsSignedInteger,
|
|
|
|
|
kLinearPCMFormatFlagIsPacked = kAudioFormatFlagIsPacked,
|
|
|
|
|
kLinearPCMFormatFlagIsAlignedHigh = kAudioFormatFlagIsAlignedHigh,
|
|
|
|
|
kLinearPCMFormatFlagIsNonInterleaved = kAudioFormatFlagIsNonInterleaved,
|
|
|
|
|
kLinearPCMFormatFlagIsNonMixable = kAudioFormatFlagIsNonMixable,
|
|
|
|
|
kLinearPCMFormatFlagsAreAllClear = kAudioFormatFlagsAreAllClear,
|
|
|
|
|
|
|
|
|
|
kAppleLosslessFormatFlag_16BitSourceData = 1,
|
|
|
|
|
kAppleLosslessFormatFlag_20BitSourceData = 2,
|
|
|
|
|
kAppleLosslessFormatFlag_24BitSourceData = 3,
|
|
|
|
|
kAppleLosslessFormatFlag_32BitSourceData = 4,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioFormatFlagsNativeEndian = 0 };
|
|
|
|
@ -241,68 +248,71 @@ enum {
|
|
|
|
|
kAudioFormatProperty_ID3TagToDictionary = 'id3d',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioConverterPropertyMinimumInputBufferSize = 'mibs',
|
|
|
|
|
kAudioConverterPropertyMinimumOutputBufferSize = 'mobs',
|
|
|
|
|
kAudioConverterPropertyMaximumInputBufferSize = 'xibs',
|
|
|
|
|
kAudioConverterPropertyMaximumInputPacketSize = 'xips',
|
|
|
|
|
kAudioConverterPropertyMaximumOutputPacketSize = 'xops',
|
|
|
|
|
kAudioConverterPropertyCalculateInputBufferSize = 'cibs',
|
|
|
|
|
kAudioConverterPropertyCalculateOutputBufferSize = 'cobs',
|
|
|
|
|
kAudioConverterPropertyInputCodecParameters = 'icdp',
|
|
|
|
|
kAudioConverterPropertyOutputCodecParameters = 'ocdp',
|
|
|
|
|
kAudioConverterSampleRateConverterAlgorithm = 'srci',
|
|
|
|
|
kAudioConverterSampleRateConverterComplexity = 'srca',
|
|
|
|
|
kAudioConverterSampleRateConverterQuality = 'srcq',
|
|
|
|
|
kAudioConverterSampleRateConverterInitialPhase = 'srcp',
|
|
|
|
|
kAudioConverterCodecQuality = 'cdqu',
|
|
|
|
|
kAudioConverterPrimeMethod = 'prmm',
|
|
|
|
|
kAudioConverterPrimeInfo = 'prim',
|
|
|
|
|
kAudioConverterChannelMap = 'chmp',
|
|
|
|
|
kAudioConverterDecompressionMagicCookie = 'dmgc',
|
|
|
|
|
kAudioConverterCompressionMagicCookie = 'cmgc',
|
|
|
|
|
kAudioConverterEncodeBitRate = 'brat',
|
|
|
|
|
kAudioConverterEncodeAdjustableSampleRate = 'ajsr',
|
|
|
|
|
kAudioConverterInputChannelLayout = 'icl ',
|
|
|
|
|
kAudioConverterOutputChannelLayout = 'ocl ',
|
|
|
|
|
kAudioConverterApplicableEncodeBitRates = 'aebr',
|
|
|
|
|
kAudioConverterAvailableEncodeBitRates = 'vebr',
|
|
|
|
|
kAudioConverterApplicableEncodeSampleRates = 'aesr',
|
|
|
|
|
kAudioConverterAvailableEncodeSampleRates = 'vesr',
|
|
|
|
|
kAudioConverterAvailableEncodeChannelLayoutTags = 'aecl',
|
|
|
|
|
kAudioConverterCurrentOutputStreamDescription = 'acod',
|
|
|
|
|
kAudioConverterCurrentInputStreamDescription = 'acid',
|
|
|
|
|
kAudioConverterPropertySettings = 'acps',
|
|
|
|
|
kAudioConverterPropertyBitDepthHint = 'acbd',
|
|
|
|
|
kAudioConverterPropertyFormatList = 'flst',
|
|
|
|
|
enum {
|
|
|
|
|
kAudioConverterPropertyMinimumInputBufferSize = 'mibs',
|
|
|
|
|
kAudioConverterPropertyMinimumOutputBufferSize = 'mobs',
|
|
|
|
|
kAudioConverterPropertyMaximumInputBufferSize = 'xibs',
|
|
|
|
|
kAudioConverterPropertyMaximumInputPacketSize = 'xips',
|
|
|
|
|
kAudioConverterPropertyMaximumOutputPacketSize = 'xops',
|
|
|
|
|
kAudioConverterPropertyCalculateInputBufferSize = 'cibs',
|
|
|
|
|
kAudioConverterPropertyCalculateOutputBufferSize = 'cobs',
|
|
|
|
|
kAudioConverterPropertyInputCodecParameters = 'icdp',
|
|
|
|
|
kAudioConverterPropertyOutputCodecParameters = 'ocdp',
|
|
|
|
|
kAudioConverterSampleRateConverterAlgorithm = 'srci',
|
|
|
|
|
kAudioConverterSampleRateConverterComplexity = 'srca',
|
|
|
|
|
kAudioConverterSampleRateConverterQuality = 'srcq',
|
|
|
|
|
kAudioConverterSampleRateConverterInitialPhase = 'srcp',
|
|
|
|
|
kAudioConverterCodecQuality = 'cdqu',
|
|
|
|
|
kAudioConverterPrimeMethod = 'prmm',
|
|
|
|
|
kAudioConverterPrimeInfo = 'prim',
|
|
|
|
|
kAudioConverterChannelMap = 'chmp',
|
|
|
|
|
kAudioConverterDecompressionMagicCookie = 'dmgc',
|
|
|
|
|
kAudioConverterCompressionMagicCookie = 'cmgc',
|
|
|
|
|
kAudioConverterEncodeBitRate = 'brat',
|
|
|
|
|
kAudioConverterEncodeAdjustableSampleRate = 'ajsr',
|
|
|
|
|
kAudioConverterInputChannelLayout = 'icl ',
|
|
|
|
|
kAudioConverterOutputChannelLayout = 'ocl ',
|
|
|
|
|
kAudioConverterApplicableEncodeBitRates = 'aebr',
|
|
|
|
|
kAudioConverterAvailableEncodeBitRates = 'vebr',
|
|
|
|
|
kAudioConverterApplicableEncodeSampleRates = 'aesr',
|
|
|
|
|
kAudioConverterAvailableEncodeSampleRates = 'vesr',
|
|
|
|
|
kAudioConverterAvailableEncodeChannelLayoutTags = 'aecl',
|
|
|
|
|
kAudioConverterCurrentOutputStreamDescription = 'acod',
|
|
|
|
|
kAudioConverterCurrentInputStreamDescription = 'acid',
|
|
|
|
|
kAudioConverterPropertySettings = 'acps',
|
|
|
|
|
kAudioConverterPropertyBitDepthHint = 'acbd',
|
|
|
|
|
kAudioConverterPropertyFormatList = 'flst',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudioConverterQuality_Max = 0x7F,
|
|
|
|
|
kAudioConverterQuality_High = 0x60,
|
|
|
|
|
kAudioConverterQuality_Medium = 0x40,
|
|
|
|
|
kAudioConverterQuality_Low = 0x20,
|
|
|
|
|
kAudioConverterQuality_Min = 0,
|
|
|
|
|
enum {
|
|
|
|
|
kAudioConverterQuality_Max = 0x7F,
|
|
|
|
|
kAudioConverterQuality_High = 0x60,
|
|
|
|
|
kAudioConverterQuality_Medium = 0x40,
|
|
|
|
|
kAudioConverterQuality_Low = 0x20,
|
|
|
|
|
kAudioConverterQuality_Min = 0,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
enum { kAudio_UnimplementedError = -4,
|
|
|
|
|
kAudio_FileNotFoundError = -43,
|
|
|
|
|
kAudio_FilePermissionError = -54,
|
|
|
|
|
kAudio_TooManyFilesOpenError = -42,
|
|
|
|
|
kAudio_BadFilePathError = '!pth', // 0x21707468, 561017960
|
|
|
|
|
kAudio_ParamError = -50,
|
|
|
|
|
kAudio_MemFullError = -108,
|
|
|
|
|
enum {
|
|
|
|
|
kAudio_UnimplementedError = -4,
|
|
|
|
|
kAudio_FileNotFoundError = -43,
|
|
|
|
|
kAudio_FilePermissionError = -54,
|
|
|
|
|
kAudio_TooManyFilesOpenError = -42,
|
|
|
|
|
kAudio_BadFilePathError = '!pth', // 0x21707468, 561017960
|
|
|
|
|
kAudio_ParamError = -50,
|
|
|
|
|
kAudio_MemFullError = -108,
|
|
|
|
|
|
|
|
|
|
kAudioConverterErr_FormatNotSupported = 'fmt?',
|
|
|
|
|
kAudioConverterErr_OperationNotSupported = 0x6F703F3F,
|
|
|
|
|
// 'op??', integer used because of trigraph
|
|
|
|
|
kAudioConverterErr_PropertyNotSupported = 'prop',
|
|
|
|
|
kAudioConverterErr_InvalidInputSize = 'insz',
|
|
|
|
|
kAudioConverterErr_InvalidOutputSize = 'otsz',
|
|
|
|
|
// e.g. byte size is not a multiple of the frame size
|
|
|
|
|
kAudioConverterErr_UnspecifiedError = 'what',
|
|
|
|
|
kAudioConverterErr_BadPropertySizeError = '!siz',
|
|
|
|
|
kAudioConverterErr_RequiresPacketDescriptionsError = '!pkd',
|
|
|
|
|
kAudioConverterErr_InputSampleRateOutOfRange = '!isr',
|
|
|
|
|
kAudioConverterErr_OutputSampleRateOutOfRange = '!osr',
|
|
|
|
|
kAudioConverterErr_FormatNotSupported = 'fmt?',
|
|
|
|
|
kAudioConverterErr_OperationNotSupported = 0x6F703F3F,
|
|
|
|
|
// 'op??', integer used because of trigraph
|
|
|
|
|
kAudioConverterErr_PropertyNotSupported = 'prop',
|
|
|
|
|
kAudioConverterErr_InvalidInputSize = 'insz',
|
|
|
|
|
kAudioConverterErr_InvalidOutputSize = 'otsz',
|
|
|
|
|
// e.g. byte size is not a multiple of the frame size
|
|
|
|
|
kAudioConverterErr_UnspecifiedError = 'what',
|
|
|
|
|
kAudioConverterErr_BadPropertySizeError = '!siz',
|
|
|
|
|
kAudioConverterErr_RequiresPacketDescriptionsError = '!pkd',
|
|
|
|
|
kAudioConverterErr_InputSampleRateOutOfRange = '!isr',
|
|
|
|
|
kAudioConverterErr_OutputSampleRateOutOfRange = '!osr',
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
typedef OSStatus (*AudioConverterNew_t)(
|
|
|
|
|