# HG changeset patch # User Ryan C. Gordon # Date 1157231940 0 # Node ID 72fa749280623190d87414755ebaa79be828e7bb # Parent 152dcc2f089fa41e755c4e704f125537ddc76fc5 Compile fixes. diff -r 152dcc2f089f -r 72fa74928062 src/audio/macosx/SDL_coreaudio.c --- a/src/audio/macosx/SDL_coreaudio.c Fri Sep 01 22:48:43 2006 +0000 +++ b/src/audio/macosx/SDL_coreaudio.c Sat Sep 02 21:19:00 2006 +0000 @@ -207,21 +207,20 @@ Component comp; ComponentDescription desc; struct AudioUnitInputCallback callback; - AudioStreamBasicDescription desc; + AudioStreamBasicDescription strdesc; SDL_AudioFormat test_format = SDL_FirstAudioFormat(spec->format); int valid_datatype = 0; /* Setup a AudioStreamBasicDescription with the requested format */ - memset(&desc, '\0', sizeof (AudioStreamBasicDescription)); - desc.mFormatID = kAudioFormatLinearPCM; - desc.mFormatFlags = kLinearPCMFormatFlagIsPacked; - desc.mChannelsPerFrame = spec->channels; - desc.mSampleRate = spec->freq; - desc.mFramesPerPacket = 1; + memset(&strdesc, '\0', sizeof (AudioStreamBasicDescription)); + strdesc.mFormatID = kAudioFormatLinearPCM; + strdesc.mFormatFlags = kLinearPCMFormatFlagIsPacked; + strdesc.mChannelsPerFrame = spec->channels; + strdesc.mSampleRate = spec->freq; + strdesc.mFramesPerPacket = 1; while ((!valid_datatype) && (test_format)) { spec->format = test_format; - desc.mFormatFlags = 0; /* Just a list of valid SDL formats, so people don't pass junk here. */ switch (test_format) { case AUDIO_U8: @@ -235,15 +234,14 @@ case AUDIO_F32LSB: case AUDIO_F32MSB: valid_datatype = 1; - desc.mBitsPerChannel = SDL_AUDIO_BITSIZE(spec->format); + strdesc.mBitsPerChannel = SDL_AUDIO_BITSIZE(spec->format); + if (SDL_AUDIO_ISBIGENDIAN(spec->format)) + strdesc.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian; if (SDL_AUDIO_ISFLOAT(spec->format)) - desc.mFormatFlags |= kLinearPCMFormatFlagIsFloat; + strdesc.mFormatFlags |= kLinearPCMFormatFlagIsFloat; else if (SDL_AUDIO_ISSIGNED(spec->format)) - desc.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger; - - if (SDL_AUDIO_ISBIGENDIAN(spec->format)) - desc.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian; + strdesc.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger; break; } } @@ -253,13 +251,13 @@ return (-1); } - desc.mBytesPerFrame = - desc.mBitsPerChannel * desc.mChannelsPerFrame / 8; - desc.mBytesPerPacket = - desc.mBytesPerFrame * desc.mFramesPerPacket; - + strdesc.mBytesPerFrame = + strdesc.mBitsPerChannel * strdesc.mChannelsPerFrame / 8; + strdesc.mBytesPerPacket = + strdesc.mBytesPerFrame * strdesc.mFramesPerPacket; /* Locate the default output audio unit */ + memset(&desc, '\0', sizeof (ComponentDescription)); desc.componentType = kAudioUnitComponentType; desc.componentSubType = kAudioUnitSubType_Output; desc.componentManufacturer = kAudioUnitID_DefaultOutput;