Re: kExtAudioFileProperty_CodecManufacturer and client formats
Re: kExtAudioFileProperty_CodecManufacturer and client formats
- Subject: Re: kExtAudioFileProperty_CodecManufacturer and client formats
- From: Doug Wyatt <email@hidden>
- Date: Tue, 24 Aug 2010 17:27:05 -0700
On Aug 24, 2010, at 7:39 , Christopher Liscio wrote:
> Hey folks,
>
> I've been noodling around and looking for ways to make my ExtAudioFile reading go a bit faster on devices w/ the hardware AAC codec.
>
> I had a hunch that ExtAudioFile wasn't using the hardware AAC decoder by default, and noticed that iOS 4 added a nifty new property for me to assert this fact: kExtAudioFileProperty_CodecManufacturer
>
> The header seems to indicate it was provided for _encoding_ using hardware, but I'm interested in _decoding_ using the hardware.
>
> So, I tried it, and it didn't work. :)
>
> However, it's not the request of the hardware decoder that fails---it's the setting of kExtAudioFileProperty_ClientDataFormat that fails.
>
> I'm setting a deinterleaved floating-point format for reading, and ExtAudioFileSetProperty(ClientDataFormat) is returning 'perm'.
>
> I suspect that since, according to the header, setting the ClientDataFormat "triggers the creation of the codec," this could be related to my not having access to the hardware at the time of the call.
>
> However, an alternate explanation might be that the hardware decoder simply isn't compatible with my use of floats as the client data format?
>
> Any insight from the CoreAudio team, or anyone else that's successfully used this, would be great!
Chris,
The 'perm' error is indeed a result of an attempt to create the AudioConverter and failing due to lack of permission to use the hardware decoder.
The header is correct; kExtAudioFileProperty_CodecManufacturer only supports use of hardware encoders.
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