[gstreamer-bugs] [Bug 626815] New: basevideodecoder+vp8dec: inifnite loop on GST_EVENT_EOS

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Aug 13 05:41:23 PDT 2010


https://bugzilla.gnome.org/show_bug.cgi?id=626815
  GStreamer | gst-plugins-bad | git

           Summary: basevideodecoder+vp8dec: inifnite loop on
                    GST_EVENT_EOS
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: philipj at opera.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
      GNOME target: ---
     GNOME version: ---


gstbasevideodecoder.c has this loop when handling GST_EVENT_EOS:

        do {
          flow_ret =
              base_video_decoder_class->parse_data (base_video_decoder, TRUE);
        } while (flow_ret == GST_FLOW_OK);

gstvp8dec.c implements parse_data as such:

static GstFlowReturn
gst_vp8_dec_parse_data (GstBaseVideoDecoder * decoder, gboolean at_eos)
{
  return GST_FLOW_OK;
}

The result is quite obvious. I don't know what the design of basevideodecoder
is supposed to be or what parse_data should mean, but my quickfix is simply
returning GST_FLOW_NOT_SUPPORTED in gst_vp8_dec_parse_data, as it is both true
and has the desired side-effect of not hanging the decoder.

I don't understand why this bug doesn't rear its ugly head all the time,
perhaps for some reason GST_EVENT_EOS isn't always sent?

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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