tagdemux: do not cache FLUSH_START/_STOP events
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 10 Mar 2010 13:36:34 +0000 (14:36 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Wed, 10 Mar 2010 13:37:07 +0000 (14:37 +0100)
... and similarly so for serialized events.

gst-libs/gst/tag/gsttagdemux.c

index d02718b8f643bf7904fa53cddd58bd696b6f5af8..0840b3f5158d53a5f66b3b2f6363511c7907924c 100644 (file)
@@ -756,8 +756,12 @@ gst_tag_demux_sink_event (GstPad * pad, GstEvent * event)
       ret = TRUE;
       break;
     }
+    case GST_EVENT_FLUSH_STOP:
+    case GST_EVENT_FLUSH_START:
+      ret = gst_pad_event_default (pad, event);
+      break;
     default:
-      if (demux->priv->need_newseg) {
+      if (demux->priv->need_newseg && GST_EVENT_IS_SERIALIZED (event)) {
         /* Cache all events if we have a pending segment, so they don't get
          * lost (esp. tag events) */
         GST_INFO_OBJECT (demux, "caching event: %" GST_PTR_FORMAT, event);