NULL audio buffers from the HAL during a format change?
NULL audio buffers from the HAL during a format change?
- Subject: NULL audio buffers from the HAL during a format change?
- From: Chris Thomas <email@hidden>
- Date: Wed, 15 Oct 2003 16:45:19 -0700
All,
I'm working on the kext for an audio device that, when the user changes
sample rates, causes a particular third-party application to crash. The
developer of the application says:
The problem is that the HAL ioProc is called with some really strange
data. Actually the input and output data buffers are null-pointers and
the time stamp information is rather useless.
As far as I can tell, we're not doing anything unusual in the
IOAudioEngine::performFormatChange override, and I don't see anything
obvious in the IOAudioFamily source. I do note that the Panther HALLab
sample checks for NULL arguments to the AudioDeviceIOProc (older sample
code usually did not, I vaguely seem to recall).
The closest the documentation
(
http://qtj.apple.com/pub/audio/docs/com/apple/audio/hardware/
AudioDeviceIOProc.html) gets is the following paragraph, which is,
unfortunately, not too helpful:
If the data for either the input or the output is invalid, the time
stamp will have a value of 0. This happens when a device doesn't have
any inputs or outputs. It will also happen the very first time an
IOProc is called after starting the device if the device has both
inputs and outputs. The reason for the latter behavior is that no
input data is available when the device first starts, but the output
still needs to be primed. It should otherwise never happen.
Does anyone have a better clue or experience with this particular
malady?
Thanks,
Chris
_______________________________________________
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.