CONFERENCE_ADDED,
SRC_PAD_ADDED,
SINK_PAD_ADDED,
+ CLOSED,
LAST_SIGNAL
};
_empathy_marshal_VOID__OBJECT_UINT,
G_TYPE_NONE,
2, GST_TYPE_PAD, G_TYPE_UINT);
+
+ signals[CLOSED] =
+ g_signal_new ("closed", G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST, 0, NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
}
EmpathyCallHandler *
gst_object_unref (spad);
}
+static void
+empathy_call_handler_tf_channel_closed_cb (TfChannel *tfchannel,
+ EmpathyCallHandler *handler)
+{
+ g_signal_emit (G_OBJECT (handler), signals[CLOSED], 0);
+}
+
static void
empathy_call_handler_start_tpfs (EmpathyCallHandler *self)
{
G_CALLBACK (empathy_call_handler_tf_channel_session_created_cb), self);
g_signal_connect (priv->tfchannel, "stream-created",
G_CALLBACK (empathy_call_handler_tf_channel_stream_created_cb), self);
+ g_signal_connect (priv->tfchannel, "closed",
+ G_CALLBACK (empathy_call_handler_tf_channel_closed_cb), self);
g_object_unref (channel);
}
static void empathy_call_window_status_message (EmpathyCallWindow *window,
gchar *message);
-static void
-empathy_call_window_session_created_cb (TfChannel *tfchannel,
- FsConference *conference, FsParticipant *participant,
- gpointer user_data);
-
static void
empathy_call_window_setup_menubar (EmpathyCallWindow *self)
{
empathy_call_window_status_message (self, _("Disconnected"));
}
-static void
-empathy_call_window_session_created_cb (TfChannel *tfchannel,
- FsConference *conference, FsParticipant *participant,
- gpointer user_data)
-{
- g_signal_connect (G_OBJECT (tfchannel), "closed",
- G_CALLBACK (empathy_call_window_channel_closed_cb), user_data);
-}
-
static void
empathy_call_window_src_added_cb (EmpathyCallHandler *handler,
GstPad *src, guint media_type, gpointer user_data)
g_signal_connect (priv->handler, "conference-added",
G_CALLBACK (empathy_call_window_conference_added_cb), window);
- g_signal_connect (priv->handler, "session-created",
- G_CALLBACK (empathy_call_window_session_created_cb), window);
+ g_signal_connect (priv->handler, "closed",
+ G_CALLBACK (empathy_call_window_channel_closed_cb), window);
g_signal_connect (priv->handler, "src-pad-added",
G_CALLBACK (empathy_call_window_src_added_cb), window);
g_signal_connect (priv->handler, "sink-pad-added",