[Bug 708416] collectpads: implement flushing seek support

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Tue Oct 1 21:33:46 CEST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=708416
  GStreamer | gstreamer (core) | git

--- Comment #9 from Mathieu Duponchelle <mathieu.duponchelle at epitech.eu> 2013-10-01 19:33:43 UTC ---
Review of attachment 255352:
 --> (https://bugzilla.gnome.org/review?bug=708416&attachment=255352)

Thanks a lot for making that patch, we were beating around the bush in both
adder and videomixer when the right way was that way.

::: libs/gst/base/gstcollectpads.c
@@ +1843,3 @@
+event_forward_func (GstPad * pad, EventData * data)
+{
+  data->result &= gst_pad_push_event (pad, gst_event_ref (data->event));

I had a problem here when making videomixer use the new API, it so happened
that the pad could be flushing, and we failed sending the seek upstream. Using
the solution adder uses, which is to grab the peer and if it exists using
send_event on it, the problem was solved.

@@ +1844,3 @@
+{
+  data->result &= gst_pad_push_event (pad, gst_event_ref (data->event));
+  return !data->result;

Are we sure we want the forwarding to stop when sending the event fails ? What
if the source element is a live source ? We might want to handle that case ?

::: libs/gst/base/gstcollectpads.h
@@ +250,3 @@
+ * gst_collect_pads_set_flushing nor gst_collect_pads_clear from this
function.
+ *
+ * Since: FIXME

1.3 hopefully :)

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