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

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Nov 21 19:42:53 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 #13 from Chris Wang  2006-11-22 03:41 UTC -------
I agree that most of CD-DA plugin doing the byte swapping o the layer above CD
read, and that's why I think we should do something on
gst-plugin-good/ext/cdio.

To make my question more clear. I believe there are two case of byte sex we
need to consider for playing audio CD, first is the endianness of CDROM, then
other is the Endianness of CPU.

For the first case, cd-paranonia has function to determine the byte sex of the
cdrom while cdio don't( I believe that's what Tim mentioned here). However, I
do think to make the assumption that the CDROM is little-endian is acceptable
as there is very tiny model of CDROM is not.

For the second case, I think is what Rocky mentioned in Comment #12, the layer
above CD read should take case of the byte sex of CPU which xine and vlc do.
However, I don't see the cdio plugin from gstreamer doing anything about it,
which I believe should be fixed.

I think the tiny change we can make is that keep on using cdio (do not import
cd-paranonia), stay on the assumption that all CD_ROM are little endian. In
gst-plugin-good/ext/cdio/gstcdiocddasrc.c function
gst_cdio_cdda_src_read_sector add one routine to determine the byte sex of the
processor, then swap the byte order if necessary. I have this patch on hand.
and in my patch, I also add #ifdef SOLARIS to secure that the patch has no
infection on other platform.

any comments?


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




More information about the Gstreamer-bugs mailing list