Hi Andy, I guess what you're describing is if you create a symbolic breakpoint for All Exceptions Thrown, then yes, you will break in a lot of the ExtAudioFile APIs. Internally Apple implemented this library with C++, and apparently some code paths tend to produce exceptions that are caught internally by the library. It's a bit annoying when debugging, but nothing to worry about. Just check the OSStatus returned from the C-like API to see if everything is working.
Kevin On Wed, Jul 19, 2017 at 3:30 PM, Andy Davidson < [email protected]> wrote: > > While working on some new UI functionality in IOS 10.x. I discovered some > ObjC audio code written years ago is raising c++ exception. I found this by > setting a break point in all exceptions in Xcode. I even if I clear all the > break points I am not able to run my app from Xcode. The app seems to work > if I run it stand alone (i.e. Not connected to Xcode). > > Does anyone know how I can catch c++ exceptions in the middle of my objc ? > > Here is a back trace > > > (lldb) bt > * thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.2 > frame #0: 0x000000018be82e70 libc++abi.dylib`__cxa_throw > frame #1: 0x00000001a21e872c > AudioCodecs`ACBaseCodec::GetPropertyInfo(unsigned > int, unsigned int&, unsigned char&) + 592 > frame #2: 0x00000001a20cd808 AudioCodecs`GetPropertyInfo(void*, > unsigned int, unsigned int*, unsigned char*) + 44 > frame #3: 0x00000001903af664 > AudioToolbox`CodecConverter::CodecSupportsProperty(unsigned > int) + 32 > frame #4: 0x00000001902f2e38 > AudioToolbox`AudioConverterChain::SetProperty(unsigned > int, unsigned int, void const*) + 1224 > frame #5: 0x000000019049bf2c AudioToolbox`AudioConverterSetProperty + > 88 > frame #6: 0x0000000190254c20 AudioToolbox`ExtAudioFile::UpdateInternals() > + 356 > frame #7: 0x000000019025530c AudioToolbox`ExtAudioFile:: > SetClientFormat(CAStreamBasicDescription const&, CAAudioChannelLayout > const*) + 1136 > frame #8: 0x000000019021948c AudioToolbox`ExtAudioFileSetProperty + > 280 > * frame #9: 0x000000010014bdc0 MusicTrainerLite`-[AudioConvertHelper > createOutputAudioFile:](self=0x00000001702e8380, > _cmd="createOutputAudioFile:", destinationURL=0x00000001700b5540) at > AudioConvertHelper.m:162 > frame #10: 0x000000010014c3a0 MusicTrainerLite`-[AudioConvertHelper > convert:toAAC_InDestinationURL:](self=0x00000001702e8380, > _cmd="convert:toAAC_InDestinationURL:", audioSourceURL=0x00000001740be600, > accOutputURL=0x00000001700b5540) at AudioConvertHelper.m:219 > > > *It is raised by *ExtAudioFileSetProperty > > CFURLRef tmp = (CFURLRef)destinationURL; > > err = ExtAudioFileCreateWithURL(tmp, kAudioFileM4AType, &dstFormat, acl, > > kAudioFileFlags_EraseFile, &destinationFile); > > err = ExtAudioFileSetProperty(destinationFile, > kExtAudioFileProperty_ClientDataFormat, > > sizeOfFormatASBDStruct, & > audioSourceFormat); > > > Over all this code is trying to convert a tmp file in LPCM format to an > m4a to save space on disk. > > > The input/tmp file format is > > > *Sample Rate: 44100 * > > *Format ID: lpcm * > > *Format Flags: C * > > *Bytes per Packet: 4 * > > *Frames per Packet: 1 * > > *Bytes per Frame: 4 * > > *Channels per Frame: 2 * > > *Bits per Channel: 16 * > > *kAudioFormatFlagIsSignedInteger * > > *kAudioFormatFlagIsPacked * > > *kLinearPCMFormatFlagIsSignedInteger * > > *kLinearPCMFormatFlagIsPacked * > > *kLinearPCMFormatFlagsSampleFractionShift * > > *kAppleLosslessFormatFlag_32BitSourceData * > > > I am unable to call ExtAudioFileGetProperty After the exception > > > AudioStreamBasicDescription debugOutputFormat; > > err = ExtAudioFileGetProperty(destinationFile, > > kExtAudioFileProperty_FileDataFormat, > > sizeOfFormatASBDStruct, > > &debugOutputFormat); > > > > Any suggestions would be appreciated > > > *Andy* > > _______________________________________________ > Do not post admin requests to the list. They will be ignored. > Coreaudio-api mailing list ([email protected]) > Help/Unsubscribe/Update your Subscription: > https://lists.apple.com/mailman/options/coreaudio-api/ > kevin.c.dixon%40gmail.com > > This email sent to [email protected] > >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to [email protected]
