aggregator: set future seqnum before propagating the seek event.
authorMathieu Duponchelle <mathieu.duponchelle@opencreed.com>
Thu, 17 Jul 2014 23:41:26 +0000 (01:41 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Sat, 2 Dec 2017 15:10:25 +0000 (15:10 +0000)
So the seqnum is properly set for the following events.

libs/gst/base/gstaggregator.c

index 6981aa6..13534b1 100644 (file)
@@ -1014,10 +1014,12 @@ _src_event (GstAggregator * self, GstEvent * event)
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
     {
+      gint old_seqnum = self->priv->seqnum;
+      self->priv->seqnum = gst_event_get_seqnum (event);
       gst_event_ref (event);
       res = _do_seek (self, event);
-      if (res)
-        self->priv->seqnum = gst_event_get_seqnum (event);
+      if (!res)
+        self->priv->seqnum = old_seqnum;
       gst_event_unref (event);
       event = NULL;
       goto done;