summaryrefslogtreecommitdiffstats
path: root/gst/videomixer
diff options
context:
space:
mode:
authorJulien Moutte <julien@moutte.net>2005-10-26 10:38:18 +0000
committerJulien Moutte <julien@moutte.net>2005-10-26 10:38:18 +0000
commitcaa4645ae9a653305f030b8fc70a4903512c6b85 (patch)
treefa36faad7754f8e0ccdfc88e25442296f2bde4fd /gst/videomixer
parent60f30e3083fb6434808890fe68ffe906c5c12667 (diff)
gst/videomixer/videomixer.c: Use gst_pad_get_parent and drop the ref that was added through that call.
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.
Diffstat (limited to 'gst/videomixer')
-rw-r--r--gst/videomixer/videomixer.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/gst/videomixer/videomixer.c b/gst/videomixer/videomixer.c
index 4c7ad00a..60966c46 100644
--- a/gst/videomixer/videomixer.c
+++ b/gst/videomixer/videomixer.c
@@ -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;
}