aboutsummaryrefslogtreecommitdiffstats
path: root/src
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-05-27 04:02:51 +0800
commitadcea193bbc45b44312b82742612ea7e9a0d786d (patch)
tree9dfe75ddd86747e1df43ed43af6975fd3333add9 /src
parent010589a72de8ad5276539c8130e900e037c9d187 (diff)
downloadgsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar.gz
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar.bz2
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar.lz
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar.xz
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.tar.zst
gsoc2013-empathy-adcea193bbc45b44312b82742612ea7e9a0d786d.zip
Clear audio_output when the call ends
So we create a new one when redialing instead of reusing it.
Diffstat (limited to 'src')
-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 0f2df0938..98993fc7d 100644
--- a/src/empathy-call-window.c
+++ b/src/empathy-call-window.c
@@ -1745,6 +1745,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;
@@ -2023,6 +2027,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))
{