After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 739713 - [BDW Regression][Media][Decode]GStreamer encountered a general stream error when doing VP8 decoding test
[BDW Regression][Media][Decode]GStreamer encountered a general stream error w...
Status: VERIFIED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: High critical
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 731852
 
 
Reported: 2014-11-06 08:00 UTC by zhixinx.liu
Modified: 2014-11-18 07:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vaapidecode: only expose supported profiles when needed (2.24 KB, patch)
2014-11-12 06:51 UTC, Gwenole Beauchesne
none Details | Review

Description zhixinx.liu 2014-11-06 08:00:44 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%
Comment 1 zhixinx.liu 2014-11-11 06:43:19 UTC
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
Comment 2 Gwenole Beauchesne 2014-11-12 06:25:19 UTC
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().
Comment 3 Gwenole Beauchesne 2014-11-12 06:51:22 UTC
Created attachment 290453 [details] [review]
vaapidecode: only expose supported profiles when needed

Please try the attached patch. Thanks.
Comment 4 zhixinx.liu 2014-11-13 07:15:52 UTC
using this patch to retest JPEG decoding, it can work well. But
using this patch to retest VP8 decoding, the issue still existed.
Comment 5 Gwenole Beauchesne 2014-11-13 08:39:00 UTC
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.
Comment 6 zhixinx.liu 2014-11-13 08:58:28 UTC
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 ...
Comment 7 Focus.Luo 2014-11-14 03:57:25 UTC
Changed to High priority, because it caused many test cases failed and big pass rate drop.
Comment 8 Gwenole Beauchesne 2014-11-14 05:40:53 UTC
(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 ...
Comment 9 Gwenole Beauchesne 2014-11-14 14:37:23 UTC
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
Comment 10 zhixinx.liu 2014-11-18 07:10:37 UTC
Verify Pass, so closed it.