Re: Creating Aggregate Devices programmatically
Re: Creating Aggregate Devices programmatically
- Subject: Re: Creating Aggregate Devices programmatically
- From: Jeff Moore <email@hidden>
- Date: Mon, 1 Aug 2005 14:16:42 -0700
Theoretically, you could do this, presuming you were in charge of how
the device is used. Unfortunately, this seems to not be the case
since the device is being used in conjunction with a QT AudioContext.
As such, QT is in control of when to start and stop the device. As
has been shown, QT has a few issues with devices that have non-
trivial start-up delay.
On Aug 1, 2005, at 1:28 PM, B.J. Buchalter wrote:
on 8/1/05 3:06 PM, Jeff Moore at email@hidden wrote:
Another (and perhaps most important) problem I have encountered is
that when
I play a QuickTime movie (with two tracks, in this case) through the
(working, public) aggregate device, there is a 1 to 2 sec delay
before the
movie starts playing, during which time nothing happens.
Prerolling the
movie removes this delay, but still takes 1 - 2 sec to do the
prerolling.
(This is on a Dual 2Ghz G5, 3.5Gb memory, OS 10.4.2).
Unfortunately, this
makes responsive starting of movies very tricky when responding to
user
interaction for triggering playback. Is this just the nature of
aggregate
devices, or is there anything I can do to reduce this time?
This is expected and can't be avoided. Due to their nature, aggregate
devices need to ensure that the clocks on the sub-devices have
settled out and are reasonably accurate. This takes a few time stamps
from each sub-device, which can be a second or two depending on the
devices in use. There is nothing you can do to change this.
Couldn't he start the aggregate device after he creates it and
simply keep
it running so that it is always "pre-warmed" by the time QT starts
running?
The synchronization only happens when the aggregate is started; if
it is
already running when QT start talking to it it should be
instantaneous (just
like playing after QT has started device during the pre-roll). The
device
start would be asynchronous and ostensibly could take place during
the rest
of the start up of the app so by the time the user clicked play on
something, everything would be synched and happy...
BR,
B.J. Buchalter
Metric Halo
5 Donovan Drive
Hopewell Junction, NY 12533 USA
tel +1 845 223-6112
fax +1 603 250-2451
_______________________________________________
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
--
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