GNOME Bugzilla – Bug 739713
[BDW Regression][Media][Decode]GStreamer encountered a general stream error when doing VP8 decoding test
Last modified: 2014-11-18 07:10:37 UTC
GStreamer encountered a general stream error when doing VP8 decoding test, Regression fail. 1. Testing Steps: ======================================================================== 1.run command "gst-launch-1.0 filesrc location=/media/vp8/vp80-00-comprehensive-001.ivf '!' ivfparse '!' vaapidecode '!' vaapisink sync=false" 2.check the screen that there is no video output. log: [root@x-bdwmedia opt]# gst-launch-1.0 filesrc location=/media/vp8/vp80-00-comprehensive-001.ivf '!' ivfparse '!' vaapidecode '!' vaapisink sync=false libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Got context from element 'vaapidecode0': gst.vaapi.Display=context, display=(GstVaapiDisplay)NULL; ERROR: from element /GstPipeline:pipeline0/GstIvfParse:ivfparse0: GStreamer encountered a general stream error. Additional debug info: gstbaseparse.c(3249): gst_base_parse_loop (): /GstPipeline:pipeline0/GstIvfParse:ivfparse0: streaming stopped, reason not-negotiated ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... 2. Bisect Information: ======================================================================== the Bisect information will be uploaded later. 3. Testing Env: ======================================================================== Libva:(master)ccd93de5a707e92a629cccd595757c8d436fa3cc Libva_intel_driver:(master)24cba20a119c96556ae4dc9a90043896ea70e567 Gstreamer10:(1.2)861ca3d6787d84c9bea7110cb46821e9b8f63aff Gst_plugins_base10:(1.2)df7e7daa29ba14447b4d8dd43c35d8a3ad9e4984 Gst_plugins_good10:(1.2)08ab260b8a39791e7e62c95f4b64fd5b69959325 Gst_plugins_bad10:(1.2)277b8c34e7214177764833b73f17e43ced496f8f Gst_plugins_ugly10:(1.2)2233d97e6ad1a3988d9a9ca0fc0cf00ec4031a8f Gst_plugins_vaapi10:master)eeb43989c1cf92aa3bd88e330ecea95bb8ab3319 4. Frequency of Occurence: ======================================================================== 100%
Bisect Information: b58bdd1a1239c2996c42b417db31632d596de9c4 is the first bad commit commit b58bdd1a1239c2996c42b417db31632d596de9c4 Author: Sreerenj Balachandran <sreerenj.balachandran@intel.com> Date: Wed Oct 29 15:46:47 2014 +0200 vaapidecode: Expose the supported profiles as caps to upstream This will allows the playbin to fallback to Software Decoder if the Hardware Decoder does not support a particular profile. https://bugzilla.gnome.org/show_bug.cgi?id=730997
The concept of profile does not exist in VP8. We need to make gst_vaapi_profile_get_name() return NULL for VP8 or skip that codec in gst_vaapidecode_ensure_allowed_caps().
Created attachment 290453 [details] [review] vaapidecode: only expose supported profiles when needed Please try the attached patch. Thanks.
using this patch to retest JPEG decoding, it can work well. But using this patch to retest VP8 decoding, the issue still existed.
Please try again, the pipeline is correctly built here. Or be more explicit in the error. You probably have not make install or reset the gst plugins path correctly. What does GST_DEBUG=vaapi:4 gst-launch-1.0 [...] report? Thanks.
JPEG and VP8 decoding are failed without the attached patch. JPEG decoding can work well with the attached path. so maybe it's not my ENV issue. log: [root@x-hswmedia Gst_plugins_vaapi10]# export GST_DEBUG=vaapi:4 [root@x-hswmedia Gst_plugins_vaapi10]# gst-launch-1.0 filesrc location=/media/vp8/vp80-00-comprehensive-001.ivf '!' ivfparse '!' vaapidecode '!' vaapisink sync=false 0:00:00.006567244 5315 0x2083f00 INFO vaapi gstvaapidisplay.c:119:libgstvaapi_init_once: gstreamer-vaapi version fake git libva info: VA-API version 0.36.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 Setting pipeline to PAUSED ... Pipeline is PREROLLING ... Got context from element 'vaapidecode0': gst.vaapi.Display=context, display=(GstVaapiDisplay)NULL; ERROR: from element /GstPipeline:pipeline0/GstIvfParse:ivfparse0: GStreamer encountered a general stream error. Additional debug info: gstbaseparse.c(3249): gst_base_parse_loop (): /GstPipeline:pipeline0/GstIvfParse:ivfparse0: streaming stopped, reason not-negotiated ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ...
Changed to High priority, because it caused many test cases failed and big pass rate drop.
(In reply to comment #6) > JPEG and VP8 decoding are failed without the attached patch. > JPEG decoding can work well with the attached path. so maybe it's not my ENV > issue. log: > > [root@x-hswmedia Gst_plugins_vaapi10]# export GST_DEBUG=vaapi:4 > [root@x-hswmedia Gst_plugins_vaapi10]# gst-launch-1.0 filesrc > location=/media/vp8/vp80-00-comprehensive-001.ivf '!' ivfparse '!' vaapidecode > '!' vaapisink sync=false > 0:00:00.006567244 5315 0x2083f00 INFO vaapi > gstvaapidisplay.c:119:libgstvaapi_init_once: gstreamer-vaapi version fake git What other patches have you applied? This is not an expected gstreamer-vaapi version, unless it was further patched manually. > libva info: VA-API version 0.36.0 > libva info: va_getDriverName() returns 0 > libva info: Trying to open /opt/X11R7/lib/dri/i965_drv_video.so > libva info: Found init function __vaDriverInit_0_36 > libva info: va_openDriver() returns 0 > Setting pipeline to PAUSED ... > Pipeline is PREROLLING ... > Got context from element 'vaapidecode0': gst.vaapi.Display=context, > display=(GstVaapiDisplay)NULL; > ERROR: from element /GstPipeline:pipeline0/GstIvfParse:ivfparse0: GStreamer > encountered a general stream error. > Additional debug info: > gstbaseparse.c(3249): gst_base_parse_loop (): > /GstPipeline:pipeline0/GstIvfParse:ivfparse0: > streaming stopped, reason not-negotiated > ERROR: pipeline doesn't want to preroll. > Setting pipeline to NULL ... > Freeing pipeline ...
commit d1b7dc21f82124718da5f8560319b43d190f3fdd Author: Gwenole Beauchesne <gwenole.beauchesne@intel.com> Date: Wed Nov 12 07:46:53 2014 +0100 vaapidecode: only expose supported profiles when needed. JPEG and VP8 codecs do not really support the concept of "profile". So, don't try to expose any set that wouldn't be supported by jpegparse, or ivfparse for instance. https://bugzilla.gnome.org/show_bug.cgi?id=739713 https://bugzilla.gnome.org/show_bug.cgi?id=739714
Verify Pass, so closed it.