aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>2009-02-03 17:03:39 +0800
committerXavier Claessens <xclaesse@src.gnome.org>2009-02-03 17:03:39 +0800
commit64a9451336199741bf87c6227a8b50f0aa705e6a (patch)
tree9299fc637deb71102e15855340b458e5d2026722
parent48837f8269e4ddcde3a7c86eb8ad06e6431d4acf (diff)
downloadgsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar.gz
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar.bz2
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar.lz
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar.xz
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.tar.zst
gsoc2013-empathy-64a9451336199741bf87c6227a8b50f0aa705e6a.zip
sink the videosink so we can hold a ref to it
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk> svn path=/trunk/; revision=2397
-rw-r--r--libempathy-gtk/empathy-video-widget.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-video-widget.c b/libempathy-gtk/empathy-video-widget.c
index 7941b3198..3723f50d3 100644
--- a/libempathy-gtk/empathy-video-widget.c
+++ b/libempathy-gtk/empathy-video-widget.c
@@ -90,6 +90,9 @@ empathy_video_widget_constructed (GObject *object)
EmpathyVideoWidgetPriv *priv = GET_PRIV (object);
priv->videosink = gst_element_factory_make ("gconfvideosink", NULL);
+ gst_object_ref (priv->videosink);
+ gst_object_sink (priv->videosink);
+
priv->sink_pad = gst_element_get_static_pad (priv->videosink, "sink");
fs_element_added_notifier_add (priv->notifier, GST_BIN (priv->videosink));
@@ -192,6 +195,12 @@ empathy_video_widget_dispose (GObject *object)
priv->bus = NULL;
+ if (priv->videosink != NULL)
+ g_object_unref (priv->videosink);
+
+ priv->videosink = NULL;
+
+
/* release any references held by the object here */
if (G_OBJECT_CLASS (empathy_video_widget_parent_class)->dispose)