[vlc-devel] Re: [MOD] Mac OSX multichannel patch
Matthew Romaine
Matthew.Romaine at jp.sony.com
Wed Jun 9 09:19:18 CEST 2004
For Jean-Alexis, OSX UI developer (and other interested parties :)
On 2004/06/09, at 0:46, Jean-Alexis Montignies wrote:
>> Actually, I think I just found what to change and how to add options
>> to the interface for the module.
>> I'll be back with more changes in a bit :)
>>
> Fine :)
actually, it didn't work out as expected. more below.
> I have a Motu 828 Mk2, the streams looks like the one of a 896. In the
> audi-device menus I had the choice between twice 'mono', twice
> 'stereo' and once for the remaining surround format.
> However, whatever stream I chose, I would end up with the 5.1 surround
> output.
Yes, this is because I was still trying to figure out how the
InitDeviceVal worked - the vlc-specific macros were throwing me off a
bit. sorry.
The reason why you have two mono and two stereo options is because
there are two devices in your setup that can handle them - the System
device can handle mono and stereo, and the Mk2 can handle mono, stereo,
and surround. Unfortunately, I didn't get around the fixing the
function that lets users select which device to use, since the option
value didn't correspond to the stream number. basically the patch i
sent chose the option with the highest number of channels. I'll fix it
soon and send an update.
> Your code was very helpful, I watched some DTS movies in quad by just
> commenting the 5.1 stream format in the coreaudio.c. Not an easy way
> to do that but it's what I need ;).
> The quad output of liba52 seems false (two much signal at left, bad
> coefficients or wrong channel mapping).
obviously i have nothing to do with liba52 :) but it's nice that it
can be tested now. As you noted, you had to comment out the 5.1
section; i had to do the same for 7.1 since i had not implemented
channel configuration selection yet.
My problem with modifying the UI is as follows: is there a way to
dynamically update a drop-down list of options after a function in a
module is called? More specifically, coreaudio.c's vlc_module_begin()
section is executed before the Open() function, but it is not until
*after* the Open function is executed do I know what to put into a list
of options. What is the suggested remedy to this? I tried inserting a
callback for add_string and change_action_add, but it looks like
callbacks are not yet supported?
> To return to the HALOutput unit, it's really helpful to use this
> features as it takes care of channel mapping (but not downmixing) all
> you have to do is to give the output unit the channel layout, and this
> unit does the mapping and takes care of turning on/off the streams if
> necessary.
> The layout is defined in the AudioMidiSetup application.
>
> The documentation is at
> /Devloper/Documentation/CoreAudio/AudioUnits/AUHAL.rtfd
Ah, I neglected to look there :) Okay, I guess that is the next step
then. In fact, if the above UI problem can be resolved, then
implementation using the AUHAL should be trivial.
matt
--
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
More information about the vlc-devel
mailing list