[gstreamer-bugs] [Bug 614317] New: OSS plugin does not handle endian well

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Mar 29 20:59:49 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=614317
  GStreamer | gst-plugins-bad | unspecified

           Summary: OSS plugin does not handle endian well
    Classification: Desktop
           Product: GStreamer
           Version: unspecified
        OS/Version: Solaris
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: brian.cameron at oracle.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=157442)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=157442)
patch fixing problem

Jan Schmidt did the following analysis about this bug:

I did some investigating. What I discovered is:

* audiotestsrc and audioresample operate on native-endian samples only -
  ie big-endian on SPARC.
* audioconvert supports both big endian and little endian samples
* oss4sink on this machine supports *only* 16-bit little-endian samples.

This means that the pipeline cannot work, because audioresample and
oss4sink support no common format - one is big endian, and the other is
little. In that case, negotiation (correctly) fails.

The pipeline 'audiotestsrc ! audioconvert ! audioresample !
audioconvert ! oss4sink' does work fine, because the extra audioconvert
provides the big-endian to little-endian sample conversion.

I'm not sure what the best solution is here. Options include:
* Enhance audioresample to also be able to operate on
non-native-endianness sample formats. This probably doesn't help
playbin, because it's also inserting a 'volume' element - which also
only supports native-endianness.
* Extend OSSv4 to support sample format conversion internally.
* Add an extra audioconvert into pipelines like the one playbin builds
to ensure negotiation can happen.

The attached patch fixes the problem by enhancing the OSS plugin to handle
endian conversion internally.

More information is here:

http://defect.opensolaris.org/bz/show_bug.cgi?id=9375

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.




More information about the Gstreamer-bugs mailing list