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,