mixers: fix leaks in tests
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 6 Feb 2017 12:18:32 +0000 (13:18 +0100)
committerThibault Saunier <thibault.saunier@osg.samsung.com>
Mon, 6 Feb 2017 14:44:48 +0000 (11:44 -0300)
- GstMessage and GstBus references were lost
- Need to call gst_bus_remove_signal_watch() for each
gst_bus_add_signal_watch_full() call

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

tests/check/ges/mixers.c

index 08b4efb..b5f03c2 100644 (file)
@@ -126,11 +126,14 @@ GST_START_TEST (simple_audio_mixed_with_pipeline)
   } else if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ERROR)
     fail_error_message (message);
 
+  gst_message_unref (message);
   GST_INFO ("running main loop");
   g_main_loop_run (main_loop);
   g_main_loop_unref (main_loop);
 
 done:
+  gst_bus_remove_signal_watch (bus);
+  gst_object_unref (bus);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   gst_object_unref (pipeline);
 }
@@ -183,11 +186,14 @@ GST_START_TEST (audio_video_mixed_with_pipeline)
   } else if (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ERROR)
     fail_error_message (message);
 
+  gst_message_unref (message);
   GST_INFO ("running main loop");
   g_main_loop_run (main_loop);
   g_main_loop_unref (main_loop);
 
 done:
+  gst_bus_remove_signal_watch (bus);
+  gst_object_unref (bus);
   gst_element_set_state (GST_ELEMENT (pipeline), GST_STATE_NULL);
   gst_object_unref (pipeline);
 }