[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