[Bug 770535] autoconnect fails with tsdemux and h264parse, it didn't try other decoders

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Mar 27 07:12:03 UTC 2017


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

--- Comment #13 from Hyunjun Ko <zzoon at igalia.com> ---
(In reply to Víctor Manuel Jáquez Leal from comment #12)
> Just played a  bit on this.
> 
> (In reply to Hyunjun Ko from comment #11) 
> > Workaround is forcing to expose only au alignment in sink caps for h264
> > vaapidecoder.
> 
> AFAIK, the problem using intel's backend, with this particular stream (in
> comment #2) is that this VA driver doesn't provide baseline profile (see bug
> #732213).

I know va doesn't support baseline profile and this issue is originated from it
:)

The workaround(or maybe hack?) that I mentioned above is to make decodebin
choosing another decoder when vaapi decoder fails.

See the following. This is what I meant for "workaround" and you can see
decodebin succed in replacing with another decoder. This is why I suspect
h264parse.

diff --git a/gst/vaapi/gstvaapidecodebin.c b/gst/vaapi/gstvaapidecodebin.c
index 295c12b..1708e89 100644
--- a/gst/vaapi/gstvaapidecodebin.c
+++ b/gst/vaapi/gstvaapidecodebin.c
@@ -84,7 +84,7 @@ static const char gst_vaapi_decode_bin_sink_caps_str[] =
     GST_CAPS_CODEC("video/x-divx")
     GST_CAPS_CODEC("video/x-xvid")
     GST_CAPS_CODEC("video/x-h263")
-    GST_CAPS_CODEC("video/x-h264")
+    GST_CAPS_CODEC("video/x-h264, alignment=au")
 #if USE_H265_DECODER
     GST_CAPS_CODEC("video/x-h265")
 #endif

diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c
index c2bb42a..ea961d8 100644
--- a/gst/vaapi/gstvaapidecode.c
+++ b/gst/vaapi/gstvaapidecode.c
@@ -68,7 +68,7 @@ static const char gst_vaapidecode_sink_caps_str[] =
     GST_CAPS_CODEC("video/x-divx")
     GST_CAPS_CODEC("video/x-xvid")
     GST_CAPS_CODEC("video/x-h263")
-    GST_CAPS_CODEC("video/x-h264")
+    GST_CAPS_CODEC("video/x-h264, alignment=au")
 #if USE_H265_DECODER
     GST_CAPS_CODEC("video/x-h265")
 #endif
@@ -114,7 +114,7 @@ static const GstVaapiDecoderMap vaapi_decode_map[] = {
   {GST_VAAPI_CODEC_MPEG4, GST_RANK_PRIMARY, "mpeg4",
       "video/mpeg, mpegversion=4"},
   {GST_VAAPI_CODEC_H263, GST_RANK_PRIMARY, "h263", "video/x-h263"},
-  {GST_VAAPI_CODEC_H264, GST_RANK_PRIMARY, "h264", "video/x-h264"},
+  {GST_VAAPI_CODEC_H264, GST_RANK_PRIMARY, "h264", "video/x-h264,
alignment=au"},
   {GST_VAAPI_CODEC_VC1, GST_RANK_PRIMARY, "vc1",
       "video/x-wmv, wmvversion=3, format={WMV3,WVC1}"},
 #if USE_VP8_DECODER

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