Re: IOS 6 AudioQueueOfflineRender returns undocumented OSStatus == -308 ????
Re: IOS 6 AudioQueueOfflineRender returns undocumented OSStatus == -308 ????
- Subject: Re: IOS 6 AudioQueueOfflineRender returns undocumented OSStatus == -308 ????
- From: Andy Davidson <email@hidden>
- Date: Mon, 08 Oct 2012 20:17:09 -0700
- Thread-topic: IOS 6 AudioQueueOfflineRender returns undocumented OSStatus == -308 ????
Hi Doug
I think I can probably reproduce this in the AQOfflineRenderTest sample
app. I'll file a bug report if I can demonstrate the bug. My psudo code
looks like
- (void) fillBuffer: (SCIQueueData *)buffer {
UInt32 requestFrames = inRequestedFrames; // 2048
if (numFramesRendered + inRequestedFrames > totalAudioFrames) {
requestFrames = totalAudioFrames - numFramesRendered;
}
UInt32 numFramesRead = 0;
buffer.timeStamp->mFlags = kAudioTimeStampSampleTimeValid;
buffer.timeStamp->mSampleTime = currentSampleTime;
status = AudioQueueOfflineRender(
self.queueObject,
buffer.timeStamp,
buffer.buffer,
requestFrames );
Check status for error conditions;
Figure out how many frames where returned;
Adjust currentSampleTime;
Copy to buffer arg;
If (we have read all the frames) {
}
}
My queue callback reaches EOF.
When there are less than inRequestedFrames frames left calling
AudioQueueOfflineRender returns -308
My work around is to never try to read all the frames. When I hit EOF and
expect fewer than inRequestedFrames frames, I stop calling
AudioQueueOfflineRender
AQOfflineRenderTest code looks a little funny. Its not clear if it gets
all the frames or not. It looks like it breaks after the queue is flushed,
not necessarily because everything has been returned. If I have time over
the week end. I'll modify it to see if renders all the frames or not.
Strange, my code worked fine for many years and version of iPhone OS/ IOS.
Seems to be something new in IOS 6
Andy
On 10/8/12 5:47 PM, "Doug Wyatt" <email@hidden> wrote:
>
>On Oct 2, 2012, at 14:01 , Andy Davidson <email@hidden>
>wrote:
>> With that out of the way. How can I figure how what is going on and
>>write my code to compensate for 308 :-)
>
>$ grep -r -- '-308' /usr/include
>/usr/include/mach/mig_errors.h:#define MIG_SERVER_DIED -308 /* server
>died */
>
>If you have a recipe for reproducing this, I'd encourage you to write a
>bug report.
>
>thanks
>Doug
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden