Alexander,

Let's definitely try to resolve that error first...  If you are getting
that error from ExtAudioFileCreateWithURL then my guess is that the ASBD
you are passing in does not match the enum type you are also passing in.
In other words, if you pass kAudioFileWAVEType to the create function, then
your ASBD should probably look something like this:

{

  AudioStreamBasicDescription streamDescription = {0};

  Float64 sampleRate                  = 44100;

  int channels                        = 2; // Do you want Stereo?

  streamDescription.mSampleRate = sampleRate;

  streamDescription.mFormatID    = kAudioFormatLinearPCM;

  streamDescription.mFormatFlags  = kLinearPCMFormatFlagIsSignedInteger |
kAudioFormatFlagIsPacked;

  streamDescription.mBytesPerPacket  = 4;

  streamDescription.mFramesPerPacket  = 1;

  streamDescription.mBytesPerFrame  = 4;

  streamDescription.mChannelsPerFrame = channels;

  streamDescription.mBitsPerChannel = 16;

}

That is just one way to do it (bordering on too manual IMO).  I thought
there were handy MACROS for this in the SDK but maybe I am conflating that
with something else...

Minor related suggestion: consider creating this ASBD as a return value
from a static function, it may be handy in the future... it was for me.

Lastly, and just for completeness: In terms of the client property, it
should probably match the audio buffers you intend to pass into the
WriteAsync functions and not necessarily the format of the WAV file
itself.  In your snippet you seem to be re-using the ASBD, which may not
always apply.

--Christian

On Thu, Jan 14, 2016 at 7:43 PM, Alexander Bollbach <
[email protected]> wrote:

> Thank you for the help.
>
> Fokke,  I have since changed the way i set the stream for my audio file.
> You can that in this gist
> <https://gist.github.com/AlexanderBollbach/3b862db17adf240928f8>.
>
> Christian, I have tried setting that property but since doing that I am
> now unable to create the audiofile.  In fact that might have been the
> problem to begin with as I was not checking the OSStatus of
>
> ExtAudioFileCreateWithURL.  I now see that I get a 'fmt?'  ..  but if you
> take a look at that Gist I have no idea what could be the reason.  In the
> convenience function CreateInputUnit I get the stream off the audio unit
> and set it as a member var in my struct.  This is what I use to instantiate
> the ext audiofile but it doesn't seem to like the stream/'fmt'.
>
> On Thu, Jan 14, 2016 at 3:19 PM Fokke de Jong <[email protected]>
> wrote:
>
>> HI Alexander,
>>
>> I just answered you on stack exchange, it think there is something wrong
>> with your stream description. There might be more, but you should check
>> that first.
>>
>> best,
>> Fokke
>>
>>
>> On Jan 14, 2016, at 17:31 , Alexander Bollbach <
>> [email protected]> wrote:
>>
>> no one?
>>
>> On Wed, Jan 13, 2016 at 5:47 PM Alexander Bollbach <
>> [email protected]> wrote:
>>
>>> I am still unable to write audio samples from my AUHAL's input callback
>>> to a file.  I have tried a number of things including using the
>>> asynchronous version of writing to an audio file in ExtAudioFileServices.
>>> Even wrapping the call in a dispatch queue in fear that it was going out of
>>> scope.  Even though it is probably some small obvious thing that is missing
>>> (i'm only a few months into using core audio) I posted a stack question
>>> <http://stackoverflow.com/questions/34714832/writing-bytes-to-audio-file-using-auhal-audio-unit>
>>>  about
>>> it.  Apparently other uses have gotten the  (-50) error.  That is indeed
>>> the error I get.  (you can run the GitHub Repo
>>> <https://github.com/AlexanderBollbach/AUHAL_Recorder> in xcode to
>>> verify this).  I've been casually trying to get this to work over the past
>>> few days and I'm not getting any results.  Any idea what I might be doing
>>> wrong?
>>>
>>>
>>>
>>>
>>> _______________________________________________
>> 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/fokkedejong%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/recapitch%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]

Reply via email to