[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