this repo has no description
1#ifndef _EXTENDED_AUDIO_FILE_H
2#define _EXTENDED_AUDIO_FILE_H
3
4#include <CoreFoundation/CoreFoundation.h>
5#include <AudioToolbox/AudioFile.h>
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10
11typedef struct OpaqueExtAudioFile * ExtAudioFileRef;
12
13
14
15
16
17typedef UInt32 ExtAudioFilePropertyID;
18enum {
19 kExtAudioFileProperty_FileDataFormat = 'ffmt',
20 kExtAudioFileProperty_FileChannelLayout = 'fclo',
21 kExtAudioFileProperty_ClientDataFormat = 'cfmt',
22 kExtAudioFileProperty_ClientChannelLayout = 'cclo',
23 kExtAudioFileProperty_CodecManufacturer = 'cman',
24
25
26 kExtAudioFileProperty_AudioConverter = 'acnv',
27 kExtAudioFileProperty_AudioFile = 'afil',
28 kExtAudioFileProperty_FileMaxPacketSize = 'fmps',
29 kExtAudioFileProperty_ClientMaxPacketSize = 'cmps',
30 kExtAudioFileProperty_FileLengthFrames = '#frm',
31
32
33 kExtAudioFileProperty_ConverterConfig = 'accf',
34 kExtAudioFileProperty_IOBufferSizeBytes = 'iobs',
35 kExtAudioFileProperty_IOBuffer = 'iobf',
36 kExtAudioFileProperty_PacketTable = 'xpti'
37};
38
39enum {
40 kExtAudioFileError_InvalidProperty = -66561,
41 kExtAudioFileError_InvalidPropertySize = -66562,
42 kExtAudioFileError_NonPCMClientFormat = -66563,
43 kExtAudioFileError_InvalidChannelMap = -66564,
44 kExtAudioFileError_InvalidOperationOrder = -66565,
45 kExtAudioFileError_InvalidDataFormat = -66566,
46 kExtAudioFileError_MaxPacketSizeUnknown = -66567,
47 kExtAudioFileError_InvalidSeek = -66568,
48 kExtAudioFileError_AsyncWriteTooLarge = -66569,
49 kExtAudioFileError_AsyncWriteBufferOverflow = -66570
50};
51extern OSStatus
52ExtAudioFileOpenURL( CFURLRef inURL,
53 ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);
54extern OSStatus
55ExtAudioFileWrapAudioFileID(AudioFileID inFileID,
56 Boolean inForWriting,
57 ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);
58extern OSStatus
59ExtAudioFileCreateWithURL( CFURLRef inURL,
60 AudioFileTypeID inFileType,
61 const AudioStreamBasicDescription * inStreamDesc,
62 const AudioChannelLayout * _Nullable inChannelLayout,
63 UInt32 inFlags,
64 ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);
65extern OSStatus
66ExtAudioFileOpen( const struct FSRef * inFSRef,
67 ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);
68extern OSStatus
69ExtAudioFileCreateNew( const struct FSRef * inParentDir,
70 CFStringRef inFileName,
71 AudioFileTypeID inFileType,
72 const AudioStreamBasicDescription * inStreamDesc,
73 const AudioChannelLayout * _Nullable inChannelLayout,
74 ExtAudioFileRef _Nullable * _Nonnull outExtAudioFile);
75extern OSStatus
76ExtAudioFileDispose( ExtAudioFileRef inExtAudioFile);
77extern OSStatus
78ExtAudioFileRead( ExtAudioFileRef inExtAudioFile,
79 UInt32 * ioNumberFrames,
80 AudioBufferList * ioData);
81extern OSStatus
82ExtAudioFileWrite( ExtAudioFileRef inExtAudioFile,
83 UInt32 inNumberFrames,
84 const AudioBufferList * ioData);
85extern OSStatus
86ExtAudioFileWriteAsync( ExtAudioFileRef inExtAudioFile,
87 UInt32 inNumberFrames,
88 const AudioBufferList * _Nullable ioData);
89extern OSStatus
90ExtAudioFileSeek( ExtAudioFileRef inExtAudioFile,
91 SInt64 inFrameOffset);
92extern OSStatus
93ExtAudioFileTell( ExtAudioFileRef inExtAudioFile,
94 SInt64 * outFrameOffset);
95extern OSStatus
96ExtAudioFileGetPropertyInfo(ExtAudioFileRef inExtAudioFile,
97 ExtAudioFilePropertyID inPropertyID,
98 UInt32 * _Nullable outSize,
99 Boolean * _Nullable outWritable);
100extern OSStatus
101ExtAudioFileGetProperty( ExtAudioFileRef inExtAudioFile,
102 ExtAudioFilePropertyID inPropertyID,
103 UInt32 * ioPropertyDataSize,
104 void * outPropertyData);
105extern OSStatus
106ExtAudioFileSetProperty( ExtAudioFileRef inExtAudioFile,
107 ExtAudioFilePropertyID inPropertyID,
108 UInt32 inPropertyDataSize,
109 const void * inPropertyData);
110
111#ifdef __cplusplus
112}
113#endif
114
115#endif