Re: Setting AUHALOutput for multichannel output
Re: Setting AUHALOutput for multichannel output
- Subject: Re: Setting AUHALOutput for multichannel output
- From: William Stewart <email@hidden>
- Date: Tue, 13 Dec 2005 12:43:41 -0800
On 13/12/2005, at 11:57 AM, Evan Olcott wrote:
Yup, read all of those inside and out, they deal with streaming
audio in different ways than I do. Let me perhaps be more specific
with my issue.
When I start my app, I build my basic units (output, varispeed &
mixer), initialize the graph, then wait around.
When I open a document, I build an AUFormatter, build the
document's AUs, and add them to the master graph, call
AUGraphUpdate and all is well. When I change documents, I destroy &
rebuild the graph appropriately.
When I "press play", I set the document's AUFormatter's input
stream format (the number of channels may change between plays).
Apparently this stream format change does not follow it's way up
the chain (probably understandably so).
The issues seem to be many fold:
• Apparently I can't change the input stream of the output unit
once I've called Initialize.
Nope - I think the problem is that you can't change the format of an
input whilst it is connected to another AU.
So, the process is:
Break the connection
-> Uninit AUs
Reformat output
Reformat input
-> Init AUs
Reconnect
A connection expresses a common format between the two participants
(source and dest)
We're going to add an API to AUGraph to change the format of a
connection, but in the meantime this is what you have to do.
For most AU's you also have to un-initialise the AU in order to
reformat it. The output unit as we discussed previously, is an
exception to this rule (but you don't have to special case it - it
handles its state internally).
So in theory, I should have to have the output unit opened wide up
to accept all channels it can accept at the start of the app?
• Whenever I call AUGraphUpdate, the stream reverts to 2 channels -
perhaps because the default state of the AUs I'm connecting on the
fly is 2 channels only.
Hmmm... I've no idea about this - generally we default to 2 channels,
but once a format has been changed I don't believe we'd just change
it back to 2 channels.
Bill
My questions:
Where in my methodology should I be changing the major stream
format so that I'm not trying to stream/read data that's not
necessary?
How many of the AUs do I need to specifically set the stream format
for? Don't they get it from their parent connection?
How do I keep it from reverting to 2 channels when I connect the
document's stream?
On Dec 13, 2005, at 1:37 AM, email@hidden
wrote:
did you read the technote 2091? and the ComplexPlayThru or
SimplePlayThru sample code? these are really helpful.
http://developer.apple.com/technotes/tn2002/tn2091.html
http://developer.apple.com/samplecode/ComplexPlayThru/
ComplexPlayThru.html
http://developer.apple.com/samplecode/SimplePlayThru/
SimplePlayThru.html
_______________________________________________
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
--
mailto:email@hidden
tel: +1 408 974 4056
________________________________________________________________________
__
"Much human ingenuity has gone into finding the ultimate Before.
The current state of knowledge can be summarized thus:
In the beginning, there was nothing, which exploded" - Terry Pratchett
________________________________________________________________________
__
_______________________________________________
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