Re: HALOutputUnit (Pt 2)
Re: HALOutputUnit (Pt 2)
- Subject: Re: HALOutputUnit (Pt 2)
- From: Doug Wyatt <email@hidden>
- Date: Mon, 23 Feb 2004 14:00:54 -0800
On Feb 23, 2004, at 12:49, Bob Stuller wrote:
Doug, Greetings!
At 11:55 AM -0800 2/23/04, Doug Wyatt wrote:
On Feb 23, 2004, at 11:02, Bob Stuller wrote:
But when I call this:
status = AudioUnitSetProperty(mHALOutInstance,
kAudioDevicePropertyStreamFormat,
kAudioUnitScope_Output,
kDeviceInputElement,
&mInputDesc.description,
sizeof(AudioStreamBasicDescription));
This returns 'kAudioDeviceUnsupportedFormatError'.
What exactly is the stream format you are setting?
I ask for the best match to this format:
inputDesc.description.mSampleRate = foundRate; // 16000.0 if the
device supports it.
inputDesc.description.mFormatID = kAudioFormatLinearPCM;
inputDesc.description.mFormatFlags = kLinearPCMFormatFlagIsBigEndian
| kLinearPCMFormatFlagIsSignedInteger
| kLinearPCMFormatFlagIsPacked
| kLinearPCMFormatFlagIsNonInterleaved;
inputDesc.description.mChannelsPerFrame = 1;
inputDesc.description.mBitsPerChannel = 16;
propertySize = sizeof(AudioStreamBasicDescription);
status = AudioDeviceGetProperty(deviceIDs[i], 0, true,
kAudioDevicePropertyStreamFormatMatch,
&propertySize, &inputDesc.description);
I get, typically:
inputDesc.description.mSampleRate == 16000.0
inputDesc.description.mFormatID == kAudioFormatLinearPCM
inputDesc.description.mFormatFlags == kLinearPCMFormatFlagIsBigEndian
| kAudioFormatFlagIsFloat
| kLinearPCMFormatFlagIsPacked
inputDesc.description.mChannelsPerFrame == 2
inputDesc.description.mBitsPerChannel == 32
which is what I pass in.
Peace,
Bob
I wonder if the kLinearPCMFormatFlagIsNonInterleaved is confusing the
HAL. Or if it's ignoring it. I could ask Jeff but first I'll ask you:
What are inputDesc's mBytesPerPacket, mFramesPerPacket, and
mBytesPerFrame? Without the noninterleaved flag set, they should be 4,
1, 4, respectively. With it set, and mChannelsPerFrame of 2, they
should be 8, 1, 8.
Doug
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.