[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gap-dev-discuss] Cynthiune - endianness

From: Philippe Roussel
Subject: Re: [Gap-dev-discuss] Cynthiune - endianness
Date: Sun, 13 May 2012 01:49:39 +0200
User-agent: Mozilla/5.0 (X11; Linux i686; rv:12.0) Gecko/20120430 Thunderbird/12.0.1


Le 13/05/2012 00:36, Riccardo Mottola a écrit :
> Hi,
> I implemented a first rough handling of endianness.
> I forsee 3 values: little, big and native endianness. They refer to what
> the input media bundle actually delivers, not  the file itself. It
> appears as if MP3 are always LE, WAV files instead are returned native:
> little endian on LE machines, big endian on BE machines.
> The output bundles implement the setting. I suppose most will respect
> what you give, but each output should be checked.
> I did not fix all bundles, I don´t have all libraries here on my iBook.
> Please check on your machines. If you are in doubt and want to fix your
> endianness, I think setting LE as default is the best. I enhanced the
> protocol.
> I still have a problem with the ALSA backend though: it works with the
> first song played, it is correctly set, further songs however are
> incorrectly played if they change endianness. I get an exception and
> broken pipe.
> I think this is also a reason why Rate cannot be changed. Somehow we do
> not re-set the device correctly at each song.

I had this problem with the AO backend : -openDevice is not called for
every song, even when the playback rate or others parameters change,
only -prepareDeviceWithChannels:andRate:withEndianness: is called.

But for AO and apparently ALSA, some parameters are passed when opening
the device, that's why in AO's -prepareDeviceWithChannels I close and
reopen the device. I think the same thing should be done with ALSA.

Ultimately the nice thing to do would be to reorganise the Player to
close and reopen the device when some parameter changes but the code in
there is kind of hairy and I didn't want to touch it.

I'll try to test cvs head tomorrow.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]