diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-05-27 03:43:46 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-06-09 17:20:08 +0800 |
commit | a9f6738541b98e591e51bd321902acc5c8200d9b (patch) | |
tree | 8c9c1115d280ace385189d1c8e838b5e9597945d /src/empathy-call-window.c | |
parent | 9b81fd1bb7e9acee4fa68dd0b205593a2397761c (diff) | |
download | gsoc2013-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.
Diffstat (limited to 'src/empathy-call-window.c')
-rw-r--r-- | src/empathy-call-window.c | 5 |
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)) { |