[gstreamer-bugs] [Bug 377280] [cdiocddasrc] issue if drive endianness != machine endianness

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Mon Dec 11 17:07:39 PST 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=377280

  GStreamer | gst-plugins-good | Ver: 0.10.4





------- Comment #21 from Brian Cameron  2006-12-12 01:06 UTC -------

We talked with our HAL expert Artem Kachitchkine at Sun about this.  He has the
following to say.  We were asking him if HAL could tell us whether the drive is
big or little endian.

This seems like something HAL could present as a property, yes.
It appears that "big endian" drives are usually older models. All recent 
models should return little endian PCM data, regardless of the CPU endianness.

It also appears that there is no sure way to determine endianness, it looks
more like guesswork. From cdda2wav README:

    I try to write correct wav files (little endian samples), but some
    cd-writers might swap them, which would result in sort of white noise
    instead of the original sounds. Cdda2wav has an endianness detector
    for these cases, but as for all automatics, it might fail on bizarre 
    samples.
    Hint: Cdda2wav can be forced to use a given input endianness with the
    -C option (arguments are 'little', 'big' or 'guess').

The corresponding guessing code is here:

http://src.opensolaris.org/source/xref/sfw/usr/src/cmd/cdrtools/cdrtools-2.01.01/cdda2wav/interface.c#284

It looks at MMC code and INQUIRY data retrieved by sending USCSI commands to
the drive.

If someone is willing to write and test some standalone endianness-guessing
routines, I would gladly help that someone integrate them in HAL. 

----

My (Brian Cameron) comment about this is that we should probably not apply this
patch since by default we should support recent hardware and not old hardware.  
Perhaps if we don't fix this via HAL, we could add some configuration to allow 
users with old drives to set up their configuration to flip the bits to make it
work for them.


-- 
Configure bugmail: http://bugzilla.gnome.org/userprefs.cgi?tab=email




More information about the Gstreamer-bugs mailing list