Cider Isn't Darwin Emulation, Really
Something went wrong. Try again.
3.8 kB · 115 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116#ifndef _EXTENDED_AUDIO_FILE_H#define _EXTENDED_AUDIO_FILE_H
#include <CoreFoundation/CoreFoundation.h>#include <AudioToolbox/AudioFile.h>
#ifdef __cplusplusextern "C" {#endif
typedef struct OpaqueExtAudioFile * ExtAudioFileRef;
typedef UInt32 ExtAudioFilePropertyID;enum { kExtAudioFileProperty_FileDataFormat = 'ffmt', kExtAudioFileProperty_FileChannelLayout = 'fclo', kExtAudioFileProperty_ClientDataFormat = 'cfmt', kExtAudioFileProperty_ClientChannelLayout = 'cclo', kExtAudioFileProperty_CodecManufacturer = 'cman',
kExtAudioFileProperty_AudioConverter = 'acnv', kExtAudioFileProperty_AudioFile = 'afil', kExtAudioFileProperty_FileMaxPacketSize = 'fmps', kExtAudioFileProperty_ClientMaxPacketSize = 'cmps', kExtAudioFileProperty_FileLengthFrames = '#frm',
kExtAudioFileProperty_ConverterConfig = 'accf', kExtAudioFileProperty_IOBufferSizeBytes = 'iobs', kExtAudioFileProperty_IOBuffer = 'iobf', kExtAudioFileProperty_PacketTable = 'xpti'};
enum { kExtAudioFileError_InvalidProperty = -66561, kExtAudioFileError_InvalidPropertySize = -66562, kExtAudioFileError_NonPCMClientFormat = -66563, kExtAudioFileError_InvalidChannelMap = -66564, kExtAudioFileError_InvalidOperationOrder = -66565, kExtAudioFileError_InvalidDataFormat = -66566, kExtAudioFileError_MaxPacketSizeUnknown = -66567, kExtAudioFileError_InvalidSeek = -66568, kExtAudioFileError_AsyncWriteTooLarge = -66569, kExtAudioFileError_AsyncWriteBufferOverflow = -66570};extern OSStatusExtAudioFileOpenURL( CFURLRef inURL, ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);extern OSStatusExtAudioFileWrapAudioFileID(AudioFileID inFileID, Boolean inForWriting, ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);extern OSStatusExtAudioFileCreateWithURL( CFURLRef inURL, AudioFileTypeID inFileType, const AudioStreamBasicDescription * inStreamDesc, const AudioChannelLayout * _Nullable inChannelLayout, UInt32 inFlags, ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);extern OSStatusExtAudioFileOpen( const struct FSRef * inFSRef, ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);extern OSStatusExtAudioFileCreateNew( const struct FSRef * inParentDir, CFStringRef inFileName, AudioFileTypeID inFileType, const AudioStreamBasicDescription * inStreamDesc, const AudioChannelLayout * _Nullable inChannelLayout, ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);extern OSStatusExtAudioFileDispose( ExtAudioFileRef inExtAudioFile);extern OSStatusExtAudioFileRead( ExtAudioFileRef inExtAudioFile, UInt32 * ioNumberFrames, AudioBufferList * ioData);extern OSStatusExtAudioFileWrite( ExtAudioFileRef inExtAudioFile, UInt32 inNumberFrames, const AudioBufferList * ioData);extern OSStatusExtAudioFileWriteAsync( ExtAudioFileRef inExtAudioFile, UInt32 inNumberFrames, const AudioBufferList * _Nullable ioData);extern OSStatusExtAudioFileSeek( ExtAudioFileRef inExtAudioFile, SInt64 inFrameOffset);extern OSStatusExtAudioFileTell( ExtAudioFileRef inExtAudioFile, SInt64 * outFrameOffset);extern OSStatusExtAudioFileGetPropertyInfo(ExtAudioFileRef inExtAudioFile, ExtAudioFilePropertyID inPropertyID, UInt32 * _Nullable outSize, Boolean * _Nullable outWritable);extern OSStatusExtAudioFileGetProperty( ExtAudioFileRef inExtAudioFile, ExtAudioFilePropertyID inPropertyID, UInt32 * ioPropertyDataSize, void * outPropertyData);extern OSStatusExtAudioFileSetProperty( ExtAudioFileRef inExtAudioFile, ExtAudioFilePropertyID inPropertyID, UInt32 inPropertyDataSize, const void * inPropertyData);
#ifdef __cplusplus}#endif
#endif