diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-03-09 04:18:34 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-03-09 04:18:34 +0800 |
commit | f91384647c6e8dbc5b8aebb58fdb96ab745376cf (patch) | |
tree | fd5082f9efbfd4a4a14e6370197928c1d109d09b /src | |
parent | dafe7cf1759fb206760d84157d4695cec6cd826c (diff) | |
download | gsoc2013-empathy-f91384647c6e8dbc5b8aebb58fdb96ab745376cf.tar.gz gsoc2013-empathy-f91384647c6e8dbc5b8aebb58fdb96ab745376cf.tar.zst gsoc2013-empathy-f91384647c6e8dbc5b8aebb58fdb96ab745376cf.zip |
Unref the video input and tee after removing
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2639
Diffstat (limited to 'src')
-rw-r--r-- | src/empathy-call-window.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c index b94b20385..102395e57 100644 --- a/src/empathy-call-window.c +++ b/src/empathy-call-window.c @@ -889,8 +889,11 @@ empathy_call_window_sink_added_cb (EmpathyCallHandler *handler, gst_pad_link (pad, sink); break; case TP_MEDIA_STREAM_TYPE_VIDEO: - pad = gst_element_get_request_pad (priv->video_tee, "src%d"); - gst_pad_link (pad, sink); + if (priv->video_input != NULL) + { + pad = gst_element_get_request_pad (priv->video_tee, "src%d"); + gst_pad_link (pad, sink); + } break; default: g_assert_not_reached (); @@ -952,6 +955,11 @@ empathy_call_window_remove_video_input (EmpathyCallWindow *self) gst_bin_remove_many (GST_BIN (priv->pipeline), priv->video_input, priv->video_tee, preview, NULL); + + g_object_unref (priv->video_input); + priv->video_input = NULL; + g_object_unref (priv->video_tee); + priv->video_tee = NULL; } |