deinterleave: fix leaks
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Fri, 13 May 2016 13:12:22 +0000 (15:12 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 21 Jun 2016 07:51:08 +0000 (10:51 +0300)
- Flush the bus so messages aren't leaked
- Fix pad leak

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

tests/check/elements/deinterleave.c

index f81fddb..b246105 100644 (file)
@@ -191,8 +191,10 @@ GST_START_TEST (test_2_channels)
   mysinkpads = NULL;
 
   g_object_unref (deinterleave);
+  gst_bus_set_flushing (bus, TRUE);
   g_object_unref (bus);
   gst_caps_unref (caps);
+  gst_object_unref (mysrcpad);
 }
 
 GST_END_TEST;
@@ -262,8 +264,10 @@ GST_START_TEST (test_2_channels_1_linked)
   mysinkpads = NULL;
 
   g_object_unref (deinterleave);
+  gst_bus_set_flushing (bus, TRUE);
   g_object_unref (bus);
   gst_caps_unref (caps);
+  gst_object_unref (mysrcpad);
 }
 
 GST_END_TEST;
@@ -399,9 +403,11 @@ GST_START_TEST (test_2_channels_caps_change)
   mysinkpads = NULL;
 
   g_object_unref (deinterleave);
+  gst_bus_set_flushing (bus, TRUE);
   g_object_unref (bus);
   gst_caps_unref (caps);
   gst_caps_unref (caps2);
+  gst_object_unref (mysrcpad);
 }
 
 GST_END_TEST;