[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: patch for arts on ppc
From:       Stefan Westerfeld <stefan () space ! twc ! de>
Date:       2000-10-07 20:50:20
[Download RAW message or body]

   Hi!

On Sat, Oct 07, 2000 at 04:27:16PM +0200, Martin Vogt wrote:
> >Yep this works. !
> >
> >I have working ppc and intel machines which both work, someone wants to comment
> >on this?
> >
> >I want to commit this :)
> 
> This patch (may) break the AIX port, but artsd has no AIX audiooutput
> so this should be not really a problem.
> 
> What we can see from the patch is:
> The mp3 decoder (splay) puts the pcm data out in big endian,
> but we need to swap it, because the audiosubsys.cc configures
> /dev/dsp as little endian.

Thats not quite the full story. Right is: audiosubsys.cc accesses the
device as little endian, and does the

  "aRts internal format (float)" => "soundcard output (S16_LE)"

conversion that way, too. However, there is nothing wrong with that, as it
does so architecture independantly (no short int involved), so this kind
of artsd works.

The other side is where a mismatch is (was) happening, we've got an

  "mpeglib output (S16_?E)" => "aRts internal format (float)"

upconversion in mpeglib_artsplug. Now aRts assumes here S16_LE (it always
does everywhere for all conversions), while mpeglib used to output native
byte order, which broke on big endian machines, before the patch. Fact is,
that you need to change the upconversion somewhere, either in mpeglib, or
in mpeglib_artsplug, or in functions that are called by those to fix the
problem, as the downconversion is all right.

The patch did just that, and I think its fine for 2.0.

   Cu... Stefan
-- 
  -* Stefan Westerfeld, stefan@space.twc.de (PGP!), Hamburg/Germany
     KDE Developer, project infos at http://space.twc.de/~stefan/kde *-         

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic