[Bug 677340] New: Event errors ignored, even if caused by dataflow errors

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Sat Jun 2 08:23:14 PDT 2012


https://bugzilla.gnome.org/show_bug.cgi?id=677340
  GStreamer | gstreamer (core) | 0.11.x

           Summary: Event errors ignored, even if caused by dataflow
                    errors
    Classification: Platform
           Product: GStreamer
           Version: 0.11.x
        OS/Version: Linux
            Status: NEW
          Severity: critical
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
                CC: wim.taymans at gmail.com
     GNOME version: ---


Consider the following pipeline:
audiotestsrc num-buffers=1 ! vorbisenc ! vorbisdec ! sink

vorbisdec will only push buffers to the sink as a result of the EOS event sent
downstream from audiotestsrc and vorbisenc. So all gst_pad_push() in vorbisenc
and audiotestsrc will always see GST_FLOW_OK.

If the pushing of data in vorbisdec (remember: triggered by the EOS event) now
fails audiotestsrc (the element driving the pipeline and the element that
should post error messages on the bus if pushing data fails) can't post an
error message on the bus as the return values of event pushing does do not
contain enough information to decide if an (and which) error happened. Thus the
pipeline silently fails and goes into EOS state without any error messages on
the bus (note: this requires 0ca7b85ead53e6b8be76971d5b7003ef55c8e08c, without
this the pipeline just waits for EOS forever).


This could be solved by handling data-pushing-caused-by-EOS as a special case,
and requiring elements to post error messages themselves on the bus in that
case (instead of letting it handled by the element driving the pipeline as
usual). Or we need flow returns for events.

-- 
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