~ubuntu-branches/ubuntu/lucid/empathy/lucid-updates

« back to all changes in this revision

Viewing changes to libempathy/empathy-call-handler.c

  • Committer: Bazaar Package Importer
  • Author(s): Ken VanDine
  • Date: 2010-04-09 15:07:58 UTC
  • mfrom: (1.1.52 upstream)
  • Revision ID: james.westby@ubuntu.com-20100409150758-dzc1z2r690p28ort
Tags: 2.30.0.1-0ubuntu1
* New upstream version 
  - empathy crashed with SIGSEGV in g_closure_invoke() (LP: #527296)
  - contact list is empty for a jabber account with a lot of 
    contacts (LP: #539023)
  - Join room should be greyed out for AIM (LP: #540525)
  - Previous/Next Tab menu items aren't disabled if at the first/last tab 
    and gtk-keynav-wrap-around is 0
  - empathy incorrectly updates our own IRC nick for /me
  - Shouldn't request RoomList channel if not supported by connection
  - account-chooser crashes when setting a filter and has-all-option to TRUE
  - empathy crashed with SIGSEGV in g_object_unref() (LP: #556977)
  - Wrong account name when using the assistant 
  - Empathy fails to initiate a audio/video call over XMPP
* debian/patches/20_libindicate.patch
  - Ported patch to remove NotificationData, removed upstream
* debian/patches/32_append_notifications.patch
  - Ported patch to remove NotificationData, removed upstream
* debian/patches/21_login_indicators.patch
  - Only display indicator for signon events if the preference 
    is set (LP: #533857)

Show diffs side-by-side

added added

removed removed

Lines of Context:
231
231
  signals[SRC_PAD_ADDED] =
232
232
    g_signal_new ("src-pad-added", G_TYPE_FROM_CLASS (klass),
233
233
      G_SIGNAL_RUN_LAST, 0, NULL, NULL,
234
 
      _empathy_marshal_VOID__OBJECT_UINT,
235
 
      G_TYPE_NONE,
 
234
      _empathy_marshal_BOOLEAN__OBJECT_UINT,
 
235
      G_TYPE_BOOLEAN,
236
236
      2, GST_TYPE_PAD, G_TYPE_UINT);
237
237
 
238
238
  signals[SINK_PAD_ADDED] =
239
239
    g_signal_new ("sink-pad-added", G_TYPE_FROM_CLASS (klass),
240
240
      G_SIGNAL_RUN_LAST, 0, NULL, NULL,
241
 
      _empathy_marshal_VOID__OBJECT_UINT,
242
 
      G_TYPE_NONE,
 
241
      _empathy_marshal_BOOLEAN__OBJECT_UINT,
 
242
      G_TYPE_BOOLEAN,
243
243
      2, GST_TYPE_PAD, G_TYPE_UINT);
244
244
 
245
245
  signals[REQUEST_RESOURCE] =
329
329
    GST_ELEMENT (conference));
330
330
}
331
331
 
 
332
static gboolean
 
333
src_pad_added_error_idle (gpointer data)
 
334
{
 
335
  TfStream *stream = data;
 
336
 
 
337
  tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_MEDIA_ERROR,
 
338
      "Could not link sink");
 
339
  g_object_unref (stream);
 
340
 
 
341
  return FALSE;
 
342
}
 
343
 
332
344
static void
333
345
empathy_call_handler_tf_stream_src_pad_added_cb (TfStream *stream,
334
346
  GstPad *pad, FsCodec *codec, EmpathyCallHandler  *handler)
335
347
{
336
348
  guint media_type;
 
349
  gboolean retval;
337
350
 
338
351
  g_object_get (stream, "media-type", &media_type, NULL);
339
352
 
340
353
  g_signal_emit (G_OBJECT (handler), signals[SRC_PAD_ADDED], 0,
341
 
    pad, media_type);
 
354
      pad, media_type, &retval);
 
355
 
 
356
  if (!retval)
 
357
    g_idle_add (src_pad_added_error_idle, g_object_ref (stream));
342
358
}
343
359
 
344
360
 
370
386
{
371
387
  guint media_type;
372
388
  GstPad *spad;
 
389
  gboolean retval;
373
390
 
374
391
  g_signal_connect (stream, "src-pad-added",
375
392
      G_CALLBACK (empathy_call_handler_tf_stream_src_pad_added_cb), handler);
383
400
    "sink-pad", &spad, NULL);
384
401
 
385
402
  g_signal_emit (G_OBJECT (handler), signals[SINK_PAD_ADDED], 0,
386
 
    spad, media_type);
 
403
      spad, media_type, &retval);
 
404
 
 
405
 if (!retval)
 
406
      tf_stream_error (stream, TP_MEDIA_STREAM_ERROR_MEDIA_ERROR,
 
407
          "Could not link source");
387
408
 
388
409
  gst_object_unref (spad);
389
410
}