• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
why is ExtAudioFileSetProperty raises c++ exception?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

why is ExtAudioFileSetProperty raises c++ exception?


  • Subject: why is ExtAudioFileSetProperty raises c++ exception?
  • From: Andy Davidson <email@hidden>
  • Date: Wed, 19 Jul 2017 15:30:03 -0700
  • Thread-topic: why is ExtAudioFileSetProperty raises c++ exception?

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@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: why is ExtAudioFileSetProperty raises c++ exception?
      • From: Kevin Dixon <email@hidden>
  • Prev by Date: Re: EXS24/SF2 sample limits on iOS
  • Next by Date: Re: EXS24/SF2 sample limits on iOS
  • Previous by thread: RE: EXS24/SF2 sample limits on iOS
  • Next by thread: Re: why is ExtAudioFileSetProperty raises c++ exception?
  • Index(es):
    • Date
    • Thread