[empathy] telepathy-glib sucks, need to send stream error from the main thread



commit bcbcb511ce03d1bfde0096830f28bfa21c703569
Author: Olivier Crête <olivier crete collabora co uk>
Date:   Sat Mar 6 18:31:16 2010 -0500

    telepathy-glib sucks, need to send stream error from the main thread

 libempathy/empathy-call-handler.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/libempathy/empathy-call-handler.c b/libempathy/empathy-call-handler.c
index 31b66f3..3b7ce54 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));
 }
 
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]