gst/playback/: free cpas using gst_caps_unref, don't leak caps-strings
authorStefan Kost <ensonic@users.sourceforge.net>
Tue, 2 May 2006 18:15:25 +0000 (18:15 +0000)
committerStefan Kost <ensonic@users.sourceforge.net>
Tue, 2 May 2006 18:15:25 +0000 (18:15 +0000)
Original commit message from CVS:
* gst/playback/gstplaybin.c: (add_sink):
* gst/playback/test.c: (main):
* gst/playback/test5.c: (dump_element_stats):
* gst/playback/test6.c: (main):
free cpas using gst_caps_unref, don't leak caps-strings

ChangeLog
gst/playback/gstplaybin.c
gst/playback/test.c
gst/playback/test5.c
gst/playback/test6.c

index ec57f1f..29e60ed 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2006-05-02  Stefan Kost  <ensonic@users.sf.net>
+
+       * gst/playback/gstplaybin.c: (add_sink):
+       * gst/playback/test.c: (main):
+       * gst/playback/test5.c: (dump_element_stats):
+       * gst/playback/test6.c: (main):
+         free cpas using gst_caps_unref, don't leak caps-strings
+
 2006-05-01  Tim-Philipp Müller  <tim at centricular dot net>
 
        * gst/typefind/gsttypefindfunctions.c: (musepack_type_find),
index 9ac43e8..33260c0 100644 (file)
@@ -1109,7 +1109,7 @@ link_failed:
     GST_DEBUG_OBJECT (play_bin,
         "link failed when adding sink, caps %s, reason %d", capsstr, linkres);
     g_free (capsstr);
-    g_free (caps);
+    gst_caps_unref (caps);
 
     gst_element_set_state (sink, GST_STATE_NULL);
     gst_bin_remove (GST_BIN (play_bin), sink);
@@ -1127,7 +1127,7 @@ subtitle_failed:
         "subtitle link failed when adding sink, caps %s, reason %d", capsstr,
         linkres);
     g_free (capsstr);
-    g_free (caps);
+    gst_caps_unref (caps);
 
     return TRUE;
   }
index 321684b..31df582 100644 (file)
@@ -115,11 +115,14 @@ main (gint argc, gchar * argv[])
     sinkpad = gst_element_get_pad (sink, "sink");
     res = gst_pad_link (srcpad, sinkpad);
     if (!res) {
+      GstCaps *caps;
       gchar *capsstr;
 
-      capsstr = gst_caps_to_string (gst_pad_get_caps (srcpad));
+      caps = gst_pad_get_caps (srcpad);
+      capsstr = gst_caps_to_string (caps);
       g_warning ("could not link %s", capsstr);
       g_free (capsstr);
+      gst_caps_unref (caps);
     }
     //g_signal_emit_by_name (G_OBJECT (player), "link_stream", obj, sinkpad);
   }
index 44e7a01..96f197f 100644 (file)
@@ -68,6 +68,7 @@ dump_element_stats (GstElement * element)
     str = gst_caps_to_string (caps);
     g_print (" caps: %s\n", str);
     g_free (str);
+    gst_caps_unref (caps);
 
     query = gst_query_new_duration (GST_FORMAT_TIME);
     if (gst_pad_query (pad, query)) {
index b6ac243..9942d0b 100644 (file)
@@ -137,6 +137,7 @@ main (gint argc, gchar * argv[])
     str = gst_caps_to_string (caps);
     g_print (" caps: %s\n", str);
     g_free (str);
+    gst_caps_unref (caps);
 
     query = gst_query_new_duration (GST_FORMAT_TIME);
     if (gst_pad_query (pad, query)) {