aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-27 03:43:46 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-06-09 17:20:08 +0800
commita9f6738541b98e591e51bd321902acc5c8200d9b (patch)
tree8c9c1115d280ace385189d1c8e838b5e9597945d
parent9b81fd1bb7e9acee4fa68dd0b205593a2397761c (diff)
downloadgsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar.gz
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar.bz2
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar.lz
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar.xz
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.tar.zst
gsoc2013-empathy-a9f6738541b98e591e51bd321902acc5c8200d9b.zip
Clear audio_output when the call ends
So we create a new one when redialing instead of reusing it.
-rw-r--r--src/empathy-call-window.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/empathy-call-window.c b/src/empathy-call-window.c
index ec06c39fe..d9a7bb1b6 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -1767,6 +1767,10 @@ empathy_call_window_reset_pipeline (EmpathyCallWindow *self)
g_signal_handlers_disconnect_by_func (priv->audio_input_adj,
empathy_call_window_mic_volume_changed_cb, self);
+ if (priv->audio_output != NULL)
+ g_object_unref (priv->audio_output);
+ priv->audio_output = NULL;
+
if (priv->video_tee != NULL)
g_object_unref (priv->video_tee);
priv->video_tee = NULL;
@@ -2045,6 +2049,7 @@ empathy_call_window_get_audio_sink_pad (EmpathyCallWindow *self)
if (priv->audio_output == NULL)
{
priv->audio_output = empathy_audio_sink_new ();
+ g_object_ref_sink (priv->audio_output);
if (!gst_bin_add (GST_BIN (priv->pipeline), priv->audio_output))
{