I know this doesn't really answer your question, but I avoid creating AudioStreamFormatDescription structures. Instead, I grab the Info structure from the destination and set that to source.
e.g. get a matrix mixer unit input description: AudioStreamBasicDescription mxmx_Input_asbd = {0}; size = sizeof(mxmx_Input_asbd); result = AudioUnitGetProperty(mxmx_unit[controllerIndex], kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &mxmx_Input_asbd, &size);
set that to the source conv unit output description: result = AudioUnitSetProperty(conv_unit, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 0, &mxmx_Input_asbd, sizeof(mxmx_Input_asbd));
On Jan 9, 2015, at 10:38 AM, Robert Carroll < email@hidden> wrote: Hi,
At the tail end of WWDC 2014 session 501, Doug Wyatt mentions in passing that these new classes can be integrated into existing core audio code. Has anyone found any examples/ documentation on how to accomplish this?
iOS 8 has broken the audio output of my audiograph code. I assume its has something to do with the deprecated audiosampletype and audiounitsampletype. On Mac OS I’ve changed these references to Float 32 and everything works as expected. For iOS 7 and earlier float 32 resulted in dangerous full volume white noise output. I found that Sint 32 worked, but apparently not for iOS8.
The developer session states that there is now a common audio format between OS X and iOS, so hopefully Float 32 with the same flags I’m using for Mac will solve the iOS 8 problem, but will require more branching code to continue to support iOS 6 - 7.
thanks,
rob
Robert Carroll RSM Records Toronto
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
|