rtpgstpay: First let baseclass handle events, then put them into the stream
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 13 May 2013 08:43:32 +0000 (10:43 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 13 May 2013 11:44:35 +0000 (13:44 +0200)
Fixes handling of sticky events.

https://bugzilla.gnome.org/show_bug.cgi?id=700213

gst/rtp/gstrtpgstpay.c

index 6c1bba38921ac813f2566534a4a176527e5ce2a6..9b53ab7e7934f368992ee699b261aa3455299c21 100644 (file)
@@ -308,6 +308,10 @@ gst_rtp_gst_pay_sink_event (GstRTPBasePayload * payload, GstEvent * event)
 
   rtpgstpay = GST_RTP_GST_PAY (payload);
 
+  ret =
+      GST_RTP_BASE_PAYLOAD_CLASS (parent_class)->sink_event (payload,
+      gst_event_ref (event));
+
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_TAG:
       etype = 1;
@@ -348,7 +352,7 @@ gst_rtp_gst_pay_sink_event (GstRTPBasePayload * payload, GstEvent * event)
     gst_rtp_gst_pay_flush (rtpgstpay, GST_CLOCK_TIME_NONE);
   }
 
-  ret = GST_RTP_BASE_PAYLOAD_CLASS (parent_class)->sink_event (payload, event);
+  gst_event_unref (event);
 
   return ret;
 }