GNOME Bugzilla – Bug 695643
dvdemux: returns wrong value when it is not processing the sink events
Last modified: 2013-03-12 09:53:09 UTC
The following pipeline posts "Internal data stream error" gst-launch-1.0 filesrc location=dv1.avi ! avidemux ! dvdemux ! dvdec ! autovideosink dvdemux returns FALSE when it is not processing/forwarding the sink events.
Created attachment 238605 [details] [review] return value fix
Does this also make it work? diff --git a/ext/dv/gstdvdemux.c b/ext/dv/gstdvdemux.c index ab6e39e..a2b89f4 100644 --- a/ext/dv/gstdvdemux.c +++ b/ext/dv/gstdvdemux.c @@ -651,8 +651,10 @@ gst_dvdemux_push_event (GstDVDemux * dvdemux, GstEvent * event) if (dvdemux->audiosrcpad) res |= gst_pad_push_event (dvdemux->audiosrcpad, event); - else + else { gst_event_unref (event); + res = TRUE; + } return res; } If the default is true, the res |= xyz become a bit pointless.
(In reply to comment #2) > Does this also make it work? Yes, It works > > > If the default is true, the res |= xyz become a bit pointless. That's true.
Great, let's use that then. Thanks for the patch! commit 3b943a56da7d4d20ae0ac93372f55c3cb40822ca Author: Kishore Arepalli <kishore.arepalli@gmail.com> Date: Tue Mar 12 09:48:31 2013 +0000 dvdemux: don't return FALSE when dropping sink events Fixes problem in conjunction with avidemux. https://bugzilla.gnome.org/show_bug.cgi?id=695643