Re: AUHAL output questions
Re: AUHAL output questions
- Subject: Re: AUHAL output questions
- From: Derk-Jan Hartman <email@hidden>
- Date: Fri, 18 Mar 2005 23:32:47 +0100
On 18 mrt 2005, at 23:15, William Stewart wrote:
Now that I finally have a multichannel device to test VLC
(http://www.videolan.org/vlc) with, I figured that since our audio
problems have been lingering for over 2,5 years now, I'd better fix
it myself.
So I was thinking of switching from our current implementation that
uses Coreaudio itself to an AUHAL approach, that is probably less
error prone for us (and also would immediately fix our issues with
multi mono channel devices).
Now i have been trying to get some things clear, but the
information just doesn't seem available.
1: Does AUHAL support cac3 digital streams ?
No - you'd want to have a direct code path to the HAL...
Damn, so i have to implement two methods of communicating with
CoreAudio?
Or i have to do all the AUHAL conversion stuff myself in direct
CoreAudio methods?
Mmm, i think this is a very unfortunate methodology.
I do not understand why the AUHAL could not handle this for me
as-well. Are there technical difficulties in providing this, or was
it just not implemented/overlooked?
Another question/thought you might want to ask is if this was by
design?
That's what I meant with technical difficulties. At least I trust that
if there were no technological disadvantages (and i can't think of any
possible usabiltiy issues with this approach), there would be no reason
to exclude it from the design right?
If so, I would like to understand the problems, since i'm guessing they
might show up in VLCs implementation of digital out as well.
DJ
2: If it does. does AUHAL take hoge and non mixing mode
automatically in this case.
3: How do i find out if a device can handle cac3 digital, because
if it can't, it will need to be decoded before being fed to the
audio output core.
It has this in the ASBD's of the streams of the device - it will
come up in the format properties
OK, I know how to detect this.
4: I heard that the AUHAL can do simple conversions. (but no more
than one at a time?)
I'm not sure what you mean. You can give AUHAL *any* pcm format and
it will do the necessary munging to the channels of the device. If
this requires more than one conversion (say int to float and a SRC,
it will do them both)
I read somewhere that there were problems if you needed to do both
samplerate conversion and some other conversion.
Nope
5: Channel ordering. I have read all the examples and stuff on it,
but what i wanna know is this: channel layout.
for instance VLC (and it works with an edirol device, i'm told, so
that has is as well i guess) seems to have. I have seen little
about this documented.
All you need to do here is the following:
(1) Set the input format (ASBD - oh, and please use
CAStreamBasicDescription in the SDK) providing the number of
channels, etc that you are going to provide to AUHAL
(2) Provide an ACL that specifies the ordering of the channels you
are providing. The number of channels described in the ACL and the
ASBD *must* match.
(3) There is no step 3.. AUHAL will then take whatever the user has
specified in Audio MIDI Setup as their speaker placements, and match
the channels you are providing to those speaker locations.
L R Ls Rs C LFE
aka
kAudioChannelLayoutTag_MPEG_5_1_B
aka
kAudioChannelLayoutTag_DVD_20
where the Sonica Theather has
L R C LFE Ls Rs
aka
kAudioChannelLayoutTag_MPEG_5_1_A
aka
kAudioChannelLayoutTag_ITU_3_2_1
aka
kAudioChannelLayoutTag_DVD_12
You don't have to worry about this - the user configures this in
Audio MIDI Setup, and then AUHAL uses that information as I describe
above
Actually with the Sonica it's specified in the Sonica Setup utility.
I just hope they are compatible with this.
They better be, this is how it works on Mac OS X.
---
Videolan - VLC media player
Derk-Jan Hartman (hartman at videolan dot org)
http://www.videolan.org/vlc
_______________________________________________
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