|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
# HG changeset patch
|
|
David Woodhouse |
313cf00 |
# User Youness Alaoui <kakaroto@kakaroto.homelinux.net>
|
|
David Woodhouse |
313cf00 |
# Date 1407280989 14400
|
|
David Woodhouse |
313cf00 |
# Node ID 88b09a22b7c45cee561af2750ea0375419af52bd
|
|
David Woodhouse |
313cf00 |
# Parent 5f5abd63c305badb2749d73cfd461d1468d6ed83
|
|
David Woodhouse |
313cf00 |
media: Send a signal when a candidate pair is established
|
|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
This will be used for calling purple_media_set_send_rtcp_mux() where
|
|
David Woodhouse |
313cf00 |
appropriate.
|
|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
diff --git a/libpurple/marshallers.list b/libpurple/marshallers.list
|
|
David Woodhouse |
313cf00 |
--- a/libpurple/marshallers.list
|
|
David Woodhouse |
313cf00 |
+++ b/libpurple/marshallers.list
|
|
David Woodhouse |
313cf00 |
@@ -6,3 +6,4 @@
|
|
David Woodhouse |
313cf00 |
VOID:ENUM,STRING,STRING,BOOLEAN
|
|
David Woodhouse |
313cf00 |
VOID:FLAGS,FLAGS
|
|
David Woodhouse |
313cf00 |
VOID:STRING,STRING,OBJECT,OBJECT
|
|
David Woodhouse |
313cf00 |
+VOID:POINTER,POINTER,OBJECT,OBJECT
|
|
David Woodhouse |
313cf00 |
diff --git a/libpurple/media.c b/libpurple/media.c
|
|
David Woodhouse |
313cf00 |
--- a/libpurple/media.c
|
|
David Woodhouse |
313cf00 |
+++ b/libpurple/media.c
|
|
David Woodhouse |
313cf00 |
@@ -141,6 +141,7 @@
|
|
David Woodhouse |
313cf00 |
NEW_CANDIDATE,
|
|
David Woodhouse |
313cf00 |
STATE_CHANGED,
|
|
David Woodhouse |
313cf00 |
STREAM_INFO,
|
|
David Woodhouse |
313cf00 |
+ CANDIDATE_PAIR_ESTABLISHED,
|
|
David Woodhouse |
313cf00 |
LAST_SIGNAL
|
|
David Woodhouse |
313cf00 |
};
|
|
David Woodhouse |
313cf00 |
static guint purple_media_signals[LAST_SIGNAL] = {0};
|
|
David Woodhouse |
313cf00 |
@@ -274,6 +275,11 @@
|
|
David Woodhouse |
313cf00 |
purple_smarshal_VOID__ENUM_STRING_STRING_BOOLEAN,
|
|
David Woodhouse |
313cf00 |
G_TYPE_NONE, 4, PURPLE_MEDIA_TYPE_INFO_TYPE,
|
|
David Woodhouse |
313cf00 |
G_TYPE_STRING, G_TYPE_STRING, G_TYPE_BOOLEAN);
|
|
David Woodhouse |
313cf00 |
+ purple_media_signals[CANDIDATE_PAIR_ESTABLISHED] = g_signal_new("candidate-pair-established", G_TYPE_FROM_CLASS(klass),
|
|
David Woodhouse |
313cf00 |
+ G_SIGNAL_RUN_LAST, 0, NULL, NULL,
|
|
David Woodhouse |
313cf00 |
+ purple_smarshal_VOID__POINTER_POINTER_OBJECT_OBJECT,
|
|
David Woodhouse |
313cf00 |
+ G_TYPE_NONE, 4, G_TYPE_POINTER, G_TYPE_POINTER,
|
|
David Woodhouse |
313cf00 |
+ PURPLE_TYPE_MEDIA_CANDIDATE, PURPLE_TYPE_MEDIA_CANDIDATE);
|
|
David Woodhouse |
313cf00 |
g_type_class_add_private(klass, sizeof(PurpleMediaPrivate));
|
|
David Woodhouse |
313cf00 |
}
|
|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
@@ -1048,6 +1054,8 @@
|
|
David Woodhouse |
313cf00 |
purple_media_candidate_copy(
|
|
David Woodhouse |
313cf00 |
remote_candidate));
|
|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
+ g_signal_emit(media, purple_media_signals[CANDIDATE_PAIR_ESTABLISHED],
|
|
David Woodhouse |
313cf00 |
+ 0, sess_id, name, local_candidate, remote_candidate);
|
|
David Woodhouse |
313cf00 |
purple_debug_info("media", "candidate pair established\n");
|
|
David Woodhouse |
313cf00 |
}
|
|
David Woodhouse |
313cf00 |
|
|
David Woodhouse |
313cf00 |
|