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 687376 - Short circuit gst_vp8_dec_handle_frame if keyframe is missing
Short circuit gst_vp8_dec_handle_frame if keyframe is missing
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.0.2
Other All
: Normal normal
: 1.1.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-11-01 20:58 UTC by Debarshi Ray
Modified: 2012-11-02 08:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vp8dec: Short circuit gst_vp8_dec_handle_frame if keyframe is missing (1.26 KB, patch)
2012-11-01 21:14 UTC, Debarshi Ray
committed Details | Review

Description Debarshi Ray 2012-11-01 20:58:40 UTC
If dec->decoder_inited is FALSE, and a keyframe is missing, then open_codec already calls gst_video_decoder_finish_frame.

So continuing with the gst_vp8_dec_handle_frame leads to a CRITICAL at this point:
gst_buffer_map (frame->input_buffer, &minfo, GST_MAP_READ)
because the GST_IS_BUFFER assertion fails.

One way (although it does not happen always) to reproduce this bug is to try to make a VoIP call using VP8 and Empathy. Sometimes you will see the video from the other end for a moment and then the call will get disconnected. If you check the empathy-call logs you will see the above CRITICAL.
Comment 1 Debarshi Ray 2012-11-01 21:14:42 UTC
Created attachment 227841 [details] [review]
vp8dec: Short circuit gst_vp8_dec_handle_frame if keyframe is missing
Comment 2 Sebastian Dröge (slomo) 2012-11-02 08:35:12 UTC
commit f0640f205cca974ccbe0550e76ab37f16b7c8821
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Fri Nov 2 09:34:25 2012 +0100

    vp8dec: Immediately return if opening the decoder failed
    
    Instead of ignoring any errors.

commit 3c216600f55351549573cf94be541fc6055db128
Author: Debarshi Ray <rishi@gnu.org>
Date:   Thu Nov 1 22:02:39 2012 +0100

    vp8dec: Short circuit gst_vp8_dec_handle_frame if keyframe is missing
    
    https://bugzilla.gnome.org/show_bug.cgi?id=687376