From bcbcb511ce03d1bfde0096830f28bfa21c703569 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Olivier=20Cr=C3=AAte?= Date: Sat, 6 Mar 2010 18:31:16 -0500 Subject: [PATCH] telepathy-glib sucks, need to send stream error from the main thread --- libempathy/empathy-call-handler.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/libempathy/empathy-call-handler.c b/libempathy/empathy-call-handler.c index 31b66f3f..3b7ce546 100644 --- a/libempathy/empathy-call-handler.c +++ b/libempathy/empathy-call-handler.c @@ -329,6 +329,18 @@ empathy_call_handler_tf_channel_session_created_cb (TfChannel *tfchannel, GST_ELEMENT (conference)); } +static gboolean +src_pad_added_error_idle (gpointer data) +{ + TfStream *stream = data; + + tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_MEDIA_ERROR, + "Could not link sink"); + g_object_unref (stream); + + return FALSE; +} + static void empathy_call_handler_tf_stream_src_pad_added_cb (TfStream *stream, GstPad *pad, FsCodec *codec, EmpathyCallHandler *handler) @@ -342,8 +354,7 @@ empathy_call_handler_tf_stream_src_pad_added_cb (TfStream *stream, pad, media_type, &retval); if (!retval) - tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_MEDIA_ERROR, - "Could not link sink"); + g_idle_add (src_pad_added_error_idle, g_object_ref (stream)); } -- 2.39.2