views:

342

answers:

1

It's meant to return an OSType, but instead I'm just getting -50. Does anyone have any idea what error this represents? I can't find it anywhere.

A code snippet for context (the error is so ambiguous I don't know what snippet to paste, here's pretty much everything):

ExtAudioFileRef cafFile;
AudioStreamBasicDescription cafDesc;

cafDesc.mBitsPerChannel = 16;
cafDesc.mBytesPerFrame = 4;
cafDesc.mBytesPerPacket = 4;
cafDesc.mChannelsPerFrame = 2;
cafDesc.mFormatFlags = 0;
cafDesc.mFormatID = 'ima4';
cafDesc.mFramesPerPacket = 1;
cafDesc.mReserved = 0;
cafDesc.mSampleRate = 44100;

OSType status = ExtAudioFileCreateWithURL(
                   fileURL,                    // inURL
                   'caff',                     // inFileType
                   &cafDesc,                   // inStreamDesc
                   NULL,                       // inChannelLayout
                   kAudioFileFlags_EraseFile,  // inFlags
                   &cafFile                    // outExtAudioFile
                   );    // returns 0xFFFFFFCE
+2  A: 

ExtAudioFileCreateWithURL() returns an OSStatus, not an OSType. See the file MacErrors.h for the various error codes. In this case, -50 is paramErr (error in user parameter list), so you're passing one or more of the parameters incorrectly to the function.

Adam Rosenfield