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 744620 - Element fail to post error messages when returning GST_FLOW_ERROR
Element fail to post error messages when returning GST_FLOW_ERROR
Status: RESOLVED FIXED
Product: gstreamer-vaapi
Classification: Other
Component: general
git master
Other Linux
: Normal normal
: ---
Assigned To: gstreamer-vaapi maintainer(s)
gstreamer-vaapi maintainer(s)
Depends on:
Blocks: 743569
 
 
Reported: 2015-02-16 19:53 UTC by Olivier Crête
Modified: 2015-04-19 07:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
decode: Emit error GstMessage when returning a GST_FLOW_ERROR (3.99 KB, patch)
2015-02-16 19:53 UTC, Olivier Crête
committed Details | Review
vaapidecode: Use the GstVideoDecoder error reporting function (1.60 KB, patch)
2015-04-17 19:22 UTC, Olivier Crête
committed Details | Review

Description Olivier Crête 2015-02-16 19:53:09 UTC
Created attachment 296974 [details] [review]
decode: Emit error GstMessage when returning a  GST_FLOW_ERROR

All GStreamer elements MUST post an ERROR GstMessage before returning GST_FLOW_ERROR. The vaapi elements never do.

I'm attaching a patch that should do it for the decoder path.
Comment 1 sreerenj 2015-02-18 09:40:07 UTC
Pushed, Thanks for the patch.

commit aaf4165819ab3fee975e00dcfe754d665b3da3af
Author: Olivier Crete <olivier.crete@collabora.com>
Date:   Wed Feb 18 11:19:26 2015 +0200

    vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
    
    This is required in GStreamer, elements should never return
    GST_FLOW_ERROR without posting an ERROR message on the bus.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=744620
Comment 2 Olivier Crête 2015-02-18 14:29:59 UTC
You may also want to use GST_VIDEO_DECODER_ERROR(), to avoid erroring out on the first error if possible.
Comment 3 Olivier Crête 2015-04-17 19:22:06 UTC
Created attachment 301871 [details] [review]
vaapidecode: Use the GstVideoDecoder error reporting function

This way, the decoder won't stop on the first decoding error,
in most cases it can recover after some glitchiness.
Comment 4 Olivier Crête 2015-04-17 19:23:10 UTC
Make it use the baseclass as appropriate to return errors, it seems to work. Please confirm that nothing expects the decoding to just fail on the first errror?
Comment 5 Víctor Manuel Jáquez Leal 2015-04-19 07:44:46 UTC
(In reply to Olivier Crête from comment #4)
> Make it use the baseclass as appropriate to return errors, it seems to work.
> Please confirm that nothing expects the decoding to just fail on the first
> errror?

Let's assume that for now :)

commit 7e08786e1d38bf98c3aba2ad6d3498f0dfca07d3
Author: Olivier Crete <olivier.crete@collabora.com>
Date:   Thu Apr 16 20:18:13 2015 -0400

    vaapidecode: Use the GstVideoDecoder error reporting function
    
    This way, the decoder won't stop on the first decoding error,
    in most cases it can recover after some glitchiness.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=744620