aggregator: Don't leak peer pad of inactive pads when (not) forwarding QoS events...
authorSebastian Dröge <sebastian@centricular.com>
Wed, 25 Jul 2018 23:31:05 +0000 (02:31 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Wed, 25 Jul 2018 23:32:57 +0000 (02:32 +0300)
libs/gst/base/gstaggregator.c

index f3c6918..50409a8 100644 (file)
@@ -1896,7 +1896,6 @@ gst_aggregator_event_forward_func (GstPad * pad, gpointer user_data)
     } else {
       ret = gst_pad_send_event (peer, gst_event_ref (evdata->event));
       GST_DEBUG_OBJECT (pad, "return of event push is %d", ret);
-      gst_object_unref (peer);
     }
   }
 
@@ -1936,6 +1935,9 @@ gst_aggregator_event_forward_func (GstPad * pad, gpointer user_data)
 
   evdata->result &= ret;
 
+  if (peer)
+    gst_object_unref (peer);
+
   /* Always send to all pads */
   return FALSE;
 }