gst/videomixer/videomixer.c: Use gst_pad_get_parent and drop the ref that was added...
authorJulien Moutte <julien@moutte.net>
Wed, 26 Oct 2005 10:38:18 +0000 (10:38 +0000)
committerJulien Moutte <julien@moutte.net>
Wed, 26 Oct 2005 10:38:18 +0000 (10:38 +0000)
Original commit message from CVS:
2005-10-26  Julien MOUTTE  <julien@moutte.net>

* gst/videomixer/videomixer.c:
(gst_videomixer_pad_set_property),
(gst_videomixer_pad_sink_setcaps), (gst_videomixer_getcaps):
Use gst_pad_get_parent and drop the ref that was added through
that call.

ChangeLog
gst/videomixer/videomixer.c

index 9da7c90b79df2366c07342fd7bd60679eaec9fc7..4e39b4f449c2ffb50eb12ad0496d757f0332a4c0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-10-26  Julien MOUTTE  <julien@moutte.net>
+
+       * gst/videomixer/videomixer.c: (gst_videomixer_pad_set_property),
+       (gst_videomixer_pad_sink_setcaps), (gst_videomixer_getcaps):
+       Use gst_pad_get_parent and drop the ref that was added through
+       that call.
+
 2005-10-26  Thomas Vander Stichele  <thomas at apestaart dot org>
 
        * gst/rtp/gstrtpgsmenc.c:
index 4c7ad00a327d365343d66ff80b4c37b295c5e4a0..60966c4629318c8c57623d16da1d08b5c6ff8342 100644 (file)
@@ -228,6 +228,8 @@ gst_videomixer_pad_set_property (GObject * object, guint prop_id,
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
+
+  gst_object_unref (mix);
 }
 
 typedef enum
@@ -275,6 +277,7 @@ gst_videomixer_pad_sink_setcaps (GstPad * pad, GstCaps * vscaps)
   GstVideoMixerPad *mixpad;
   GstStructure *structure;
   gint in_width, in_height;
+  gboolean ret = FALSE;
 
   mix = GST_VIDEO_MIXER (gst_pad_get_parent (pad));
   mixpad = GST_VIDEO_MIXER_PAD (pad);
@@ -287,7 +290,7 @@ gst_videomixer_pad_sink_setcaps (GstPad * pad, GstCaps * vscaps)
       || !gst_structure_get_int (structure, "height", &in_height)
       || !gst_structure_get_double (structure, "framerate",
           &mixpad->in_framerate))
-    return FALSE;
+    goto beach;
 
   mixpad->in_width = in_width;
   mixpad->in_height = in_height;
@@ -302,7 +305,12 @@ gst_videomixer_pad_sink_setcaps (GstPad * pad, GstCaps * vscaps)
     mix->master = mixpad;
   }
 
-  return TRUE;
+  ret = TRUE;
+
+beach:
+  gst_object_unref (mix);
+
+  return ret;
 }
 
 static void
@@ -523,6 +531,8 @@ gst_videomixer_getcaps (GstPad * pad)
         "framerate", G_TYPE_DOUBLE, mix->in_framerate, NULL);
   }
 
+  gst_object_unref (mix);
+
   return caps;
 }