rtspsink: Fix some leaks in rtspclientsink and the unit test.
authorJan Schmidt <jan@centricular.com>
Tue, 23 Feb 2016 13:10:52 +0000 (00:10 +1100)
committerJan Schmidt <jan@centricular.com>
Tue, 23 Feb 2016 15:12:08 +0000 (02:12 +1100)
https://bugzilla.gnome.org/show_bug.cgi?id=762525

gst/rtsp-sink/gstrtspclientsink.c
tests/check/gst/rtspclientsink.c

index e7706a4..aeb8342 100644 (file)
@@ -1047,6 +1047,8 @@ gst_rtsp_client_sink_sinkpad_event (GstPad * pad, GstObject * parent,
         gst_event_unref (event);
         return FALSE;
       }
+    } else {
+      gst_object_unref (target);
     }
   }
 
@@ -1071,6 +1073,7 @@ gst_rtsp_client_sink_sinkpad_query (GstPad * pad, GstObject * parent,
 
       return TRUE;
     }
+    gst_object_unref (target);
   }
 
   return gst_pad_query_default (pad, parent, query);
index dd7f90f..83c40e9 100644 (file)
@@ -163,13 +163,17 @@ GST_START_TEST (test_record)
   /* Create an rtspclientsink and send some data */
   {
     gchar *uri = get_server_uri (test_port, TEST_MOUNT_POINT);
-    gchar *pipe_str = g_strdup_printf (AUDIO_PIPELINE,
-        RECORD_N_BUFS, uri);
+    gchar *pipe_str;
     GstMessage *msg;
     GstElement *pipeline;
     GstBus *bus;
 
+    pipe_str = g_strdup_printf (AUDIO_PIPELINE, RECORD_N_BUFS, uri);
+    g_free (uri);
+
     pipeline = gst_parse_launch (pipe_str, NULL);
+    g_free (pipe_str);
+
     fail_unless (pipeline != NULL);
 
     bus = gst_element_get_bus (pipeline);