Re: Problems when changing sample rate on a aggregate device
Re: Problems when changing sample rate on a aggregate device
- Subject: Re: Problems when changing sample rate on a aggregate device
- From: Stéphane Letz <email@hidden>
- Date: Wed, 5 Dec 2007 15:12:22 +0100
Message: 9
Date: Tue, 4 Dec 2007 08:49:50 -0800
From: Jeff Moore <email@hidden>
Subject: Re: Problems when changing sample rate on a aggregate device
To: CoreAudio API <email@hidden>
Message-ID: <email@hidden>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed; delsp=yes
Your main problem appears that you are not waiting for the
notifications from the HAL before blindly continuing your
configuration code. Basically, you are assuming what you set actually
took without actually making sure by waiting for the notifications
from the HAL to finish shaking out. This is probably causing your
configuration code to run while the HAL is still updating it's
internal state, which is giving you an incoherent view of the device.
You should _never_ assume any call to change device configuration has
succeeded successfully until you get _all_ the notifications. For an
aggregate device, this can take a while given that there are many
devices whose state is changing.
Thanks, I implemented that (waiting for the effective SR change) but
still have problems on some machines. I also implemented a sample rate
notification listener that update the AUHAL stream converter with the
new sample rate.
- G5 Tiger 10.4.11 using internal device: when changing SR in AMS,
notification listener is called, stream converter are updated and
everything works correctly
- G5 Tiger 10.4.11 using an aggregate device (that only "wraps" the
internal audio device): when changing SR in AMS, notification
listener is called, stream converter are updated and everything works
correctly
- Mac Pro Tiger 10.5.1 using internal output device: when changing SR
in AMS, notification listener is called, stream converter are updated
and everything works correctly
- Mac Pro Tiger 10.5.1 using an aggregate device that combines built
in input and built-in output :
- when changing SR in AMS *on the aggregate device*, notification
listener is called, stream converter are updated (that is no error)
but device *stops* working ...
- when changing SR in AMS *on the built-in output device* (that is
subdevice of aggregate one), notification listener is *not* called...
So they are several strange things: device stops working, and
notification listener *not* called when SR change is done on one of
the aggregate subdevice. Should I fill a bug report here?
Thanks
Stephane Letz
_______________________________________________
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