[Bug 764627] New: decodebin: backport fix from 1.8 to fix 1.6 regression

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Apr 5 10:02:09 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=764627

            Bug ID: 764627
           Summary: decodebin: backport fix from 1.8 to fix 1.6 regression
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: gdesmott at gnome.org
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

The following scenario works with 1.4 but not 1.6:

- make sure you don't have a H264 decoder installed (I do this by removing
gst-libav from GST_PLUGIN_PATH).
- gst-launch-1.0 uridecodebin
uri="rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov"
caps="video/x-h264,stream-format=avc;audio/mpeg" ! fakesink

I get this error with 1.6 but not with 1.4:

Missing element: H.264 decoder
WARNING: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0: No
decoder available for type 'video/x-h264, stream-format=(string)byte-stream,
alignment=(string)nal, parsed=(boolean)true'.
Additional debug info:
gsturidecodebin.c(939): unknown_type_cb ():
/GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0


Backporting this patch fixes the issue:
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=d50b713f44eb17ebf69aa771c26f8eb19e226319

1.6 logs: https://people.collabora.com/~cassidy/nodecoder-1.6.txt
1.6 + backported patch logs:
https://people.collabora.com/~cassidy/nodecoder-back-1.6.txt

The difference is when gst_rtp_h264_depay_negotiate() calls
gst_pad_get_allowed_caps() on its source pad.

With 1.6 the pad is not linked yet:
gstrtph264depay.c:183:gst_rtp_h264_depay_negotiate:<rtph264depay0> allowed
caps: (NULL)
so h264parse use the default stream-format: bytestream.

While in 1.8 (and with the backported patch) it is linked:

gstrtph264depay.c:183:gst_rtp_h264_depay_negotiate:<rtph264depay0> allowed
caps: video/x-h264, stream-format=(string)avc, alignment=(string)au;
video/x-h264, stream-format=(string)byte-stream, alignment=(string){ nal, au }
so h264parse will use the right format.

-- 
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