Re: Multiple Stereo streams vs. multi-channel stream
Re: Multiple Stereo streams vs. multi-channel stream
- Subject: Re: Multiple Stereo streams vs. multi-channel stream
- From: Stefan Scheffler <email@hidden>
- Date: Mon, 5 May 2003 12:43:00 +0200
Hi Devendra,
That's why we've created 9 engines - 8 engines each having one input
and
one output stream (stereo). And a ninth engine that has 8 input and 8
output streams (also stereo). As I said this works well with Logic, but
not with Cubase SX!
This is a bug with the current shipping version of Cubase SX, kind of
typo bug in the interleaved stream walking, which got undiscovered due
to a lack of testing devices at the release time. If you like I can
provide you with an internal beta of Cubase SX 1.06 which should not
show this behaviour.
Stefan.
On Thursday, May 1, 2003, at 01:17 AM, BlazeAudio Developer wrote:
Bill,
Thank you for the detailed response.
The "most natural" way is to represent our device as having 8 Output
Audio Engines and 8 Input Audio Engines. Whereas each of them has one
stereo (not mono) stream.
Unfortunately, this does not work well with most of the programs that
we
have tested.
Programs will only work with one audio-engine at a time.
That's why we've created 9 engines - 8 engines each having one input
and
one output stream (stereo). And a ninth engine that has 8 input and 8
output streams (also stereo). As I said this works well with Logic, but
not with Cubase SX!
Thanks.
Devendra.
At 12:10 AM 4/30/2003, Bill Stewart wrote:
The design intention of the HAL in general was to allow the device
to
publish itself in a format that is most efficient and thus provides
the
ability for the driver to do as little work as possible (this is
important both in terms of CPU usage that is incurred when an app
interacts with the driver, and also affects resource issues like
memory
usage where kernel/wired memory is an expensive resource)
Thus, what is the most natural way of representing your device to an
application. It sounds to me that this is a set of mono streams -
this
is actually a very efficient way of publishing the device's channels.
Why? Clients of the device can choose which channels they are using
and
can turn off the streams of the device that aren't in use. We are
doing
some of this already in Jaguar, but not as much as we should - with
the
output units and/or the SoundManager. We will have this working
completely in the next OS release. This can make a considerable
difference to the CPU usage.
Both the SoundMgr and the output units already deal correctly with
these mono streamed devices. The Mobile I/O and some other drivers,
publishes channels as mono streams, and I think most of the apps are
working with this device now (there were some teething problems but
I
think all of these have been fixed).
Bill
On Tuesday, April 29, 2003, at 11:05 PM, BlazeAudio Developer wrote:
We have a device whose hardware/DMA is designed for multiple
stereo
(interleaved) streams.
The first approach we took with our driver was: create 8 audio
engines
-
each having one stereo stream.
This works fine, but most programs will only work with one
audio-engine
at a time.
So, we took another approach - we created a single audio engine,
with 8
stereo streams (the hardware supports treating all 8 DMA engines
as
one -
so we don't really have a sync. issue).
This scheme works well with Logic Platinum 5.5.
However, the driver breaks with other software like Cubase SX and
Spark
ME.
Is this a known problem?
What's the best approach to solving this?
One alternative is to do double-buffering. Create a single
multi-channel
stream, and then distribute the data coming from CoreAudio to the
8
separate DMA buffers. But it appears like not quite the right
thing to
do.
Thanks.
Devendra.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Stefan Scheffler email@hidden
Music and Audio Software Development Phone: +49 40 210 35 0
Steinberg Media Technologies GmbH FAX : +49 40 210 35 300
Neuer Hoeltigbaum 22-32, D-22143 Hamburg
http://www.steinberg.net
_______________________________________________
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.