Mercurial > sdl-ios-xcode
comparison src/cdrom/macosx/AudioFilePlayer.h @ 4190:386181851388 SDL-1.2
Fixed CD-ROM code to work with Mac OS X 10.6 SDK and 64-bit targets.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 12 Sep 2009 15:06:16 +0000 |
parents | a1b03ba2fcd0 |
children | 4c088d2b29eb |
comparison
equal
deleted
inserted
replaced
4189:95213cf5efcc | 4190:386181851388 |
---|---|
31 #define __AudioFilePlayer_H__ | 31 #define __AudioFilePlayer_H__ |
32 | 32 |
33 #include <CoreServices/CoreServices.h> | 33 #include <CoreServices/CoreServices.h> |
34 | 34 |
35 #include <AudioUnit/AudioUnit.h> | 35 #include <AudioUnit/AudioUnit.h> |
36 #ifdef AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER | 36 #if MAC_OS_X_VERSION_MAX_ALLOWED <= 1050 |
37 #include <AudioUnit/AUNTComponent.h> | 37 #include <AudioUnit/AUNTComponent.h> |
38 #endif | 38 #endif |
39 | 39 |
40 #include "SDL_error.h" | 40 #include "SDL_error.h" |
41 | 41 |
80 | 80 |
81 /*private:*/ | 81 /*private:*/ |
82 AudioUnit mPlayUnit; | 82 AudioUnit mPlayUnit; |
83 SInt16 mForkRefNum; | 83 SInt16 mForkRefNum; |
84 | 84 |
85 AudioUnitInputCallback mInputCallback; | 85 AURenderCallbackStruct mInputCallback; |
86 | 86 |
87 AudioStreamBasicDescription mFileDescription; | 87 AudioStreamBasicDescription mFileDescription; |
88 | 88 |
89 int mConnected; | 89 int mConnected; |
90 | 90 |
112 /*public:*/ | 112 /*public:*/ |
113 /* this method should NOT be called by an object of this class | 113 /* this method should NOT be called by an object of this class |
114 as it is called by the parent's Disconnect() method */ | 114 as it is called by the parent's Disconnect() method */ |
115 void (*Disconnect)(struct S_AudioFileManager *afm); | 115 void (*Disconnect)(struct S_AudioFileManager *afm); |
116 int (*DoConnect)(struct S_AudioFileManager *afm); | 116 int (*DoConnect)(struct S_AudioFileManager *afm); |
117 OSStatus (*Read)(struct S_AudioFileManager *afm, char *buffer, UInt32 *len); | 117 OSStatus (*Read)(struct S_AudioFileManager *afm, char *buffer, ByteCount *len); |
118 const char* (*GetFileBuffer)(struct S_AudioFileManager *afm); | 118 const char* (*GetFileBuffer)(struct S_AudioFileManager *afm); |
119 const AudioFilePlayer *(*GetParent)(struct S_AudioFileManager *afm); | 119 const AudioFilePlayer *(*GetParent)(struct S_AudioFileManager *afm); |
120 void (*SetPosition)(struct S_AudioFileManager *afm, SInt64 pos); /* seek/rewind in the file */ | 120 void (*SetPosition)(struct S_AudioFileManager *afm, SInt64 pos); /* seek/rewind in the file */ |
121 int (*GetByteCounter)(struct S_AudioFileManager *afm); /* return actual bytes streamed to audio hardware */ | 121 int (*GetByteCounter)(struct S_AudioFileManager *afm); /* return actual bytes streamed to audio hardware */ |
122 void (*SetEndOfFile)(struct S_AudioFileManager *afm, SInt64 pos); /* set the "EOF" (will behave just like it reached eof) */ | 122 void (*SetEndOfFile)(struct S_AudioFileManager *afm, SInt64 pos); /* set the "EOF" (will behave just like it reached eof) */ |
146 SInt64 mReadFilePosition; | 146 SInt64 mReadFilePosition; |
147 int mWriteToFirstBuffer; | 147 int mWriteToFirstBuffer; |
148 int mFinishedReadingData; | 148 int mFinishedReadingData; |
149 | 149 |
150 /*protected:*/ | 150 /*protected:*/ |
151 OSStatus (*Render)(struct S_AudioFileManager *afm, AudioBuffer *ioData); | 151 OSStatus (*Render)(struct S_AudioFileManager *afm, AudioBufferList *ioData); |
152 OSStatus (*GetFileData)(struct S_AudioFileManager *afm, void** inOutData, UInt32 *inOutDataSize); | 152 OSStatus (*GetFileData)(struct S_AudioFileManager *afm, void** inOutData, UInt32 *inOutDataSize); |
153 void (*AfterRender)(struct S_AudioFileManager *afm); | 153 void (*AfterRender)(struct S_AudioFileManager *afm); |
154 | 154 |
155 /*public:*/ | 155 /*public:*/ |
156 /*static*/ | 156 /*static*/ |
157 OSStatus (*FileInputProc)(void *inRefCon, | 157 OSStatus (*FileInputProc)(void *inRefCon, |
158 AudioUnitRenderActionFlags inActionFlags, | 158 AudioUnitRenderActionFlags *ioActionFlags, |
159 const AudioTimeStamp *inTimeStamp, | 159 const AudioTimeStamp *inTimeStamp, |
160 UInt32 inBusNumber, | 160 UInt32 inBusNumber, |
161 AudioBuffer *ioData); | 161 UInt32 inNumberFrames, |
162 AudioBufferList *ioData); | |
162 } AudioFileManager; | 163 } AudioFileManager; |
163 | 164 |
164 | 165 |
165 AudioFileManager *new_AudioFileManager (AudioFilePlayer *inParent, | 166 AudioFileManager *new_AudioFileManager (AudioFilePlayer *inParent, |
166 SInt16 inForkRefNum, | 167 SInt16 inForkRefNum, |