Re: Allowing a user-space driver to be the default system
Re: Allowing a user-space driver to be the default system
- Subject: Re: Allowing a user-space driver to be the default system
- From: Jeff Moore <email@hidden>
- Date: Fri, 25 Mar 2005 12:04:04 -0800
On Mar 25, 2005, at 12:51 AM, Stéphane Letz wrote:
I'm also implementing the kAudioDevicePropertySupportsMixing
property for the Device (in DeviceGetProperty)
and our driver stream format is : kAudioFormatFlagIsPacked
| kLinearPCMFormatFlagIsFloat
| kAudioFormatFlagIsBigEndian
| kAudioFormatFlagIsNonInterleaved
The HAL does not use kAudioFormatFlagIsNonInterleaved, so you should
not be using it either. It is an illegal format for IOProcs.
But it is not working... Thus i tried to implement also the
kAudioDevicePropertySupportsMixing property for the Stream (in
DeviceGetStreamProperty) but it is still not working....
That property is a device property. It should be present and
implemented properly. Plus, the value has to be 1 indicating that
mixing is enabled.
So I guess there is still something missing... Any idea?
(this default driver behaviour was correctly working under Jaguar
and stopped working under Panther....)
Your streams need to implement kAudioStreamPropertyTerminalType.
Your devices need to implement kAudioDevicePropertyHogMode properly
and they can't be hogged.
Another question:
Our driver does not support changing some properties (with
DeviceSetProperty): for example it runs at only one possible sample
rate and one buffer size at a time. Thus it accepts
DeviceSetProperty for the exact buffersize and samplerate
internally supported, otherwise it returns an error. The question:
what is the correct error value that has to be returned?
I usually use kAudioHardwareUnknownPropertyError for property that
cannot be handled in set mode by our driver. Is this correct? or
should it be kAudioHardwareIllegalOperationError or
kAudioDeviceUnsupportedFormatError sometimes?
The right error code is kAudioDeviceUnsupportedFormatError for
setting an unsupported sample rate, but is
kAudioHardwareIllegalOperationError for setting an unsupported buffer
size.
--
Jeff Moore
Core Audio
Apple
_______________________________________________
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