summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Lundblad <malu@pidgin.im>2010-02-18 22:42:19 +0000
committerMarcus Lundblad <malu@pidgin.im>2010-02-18 22:42:19 +0000
commit60465fc97dceb3ddaf337673d5eb121350d95ef0 (patch)
treecbb5f9b8f08446d44bd54c03d5f34745b77502d0
parent3cb409a0ea0a906b254746d01892134948319edc (diff)
downloadpidgin-60465fc97dceb3ddaf337673d5eb121350d95ef0.tar.gz
Make the check for PRPL-supplied TURN parameters in the new place
-rw-r--r--libpurple/media/backend-fs2.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/libpurple/media/backend-fs2.c b/libpurple/media/backend-fs2.c
index 30ada179f2..6a94979f50 100644
--- a/libpurple/media/backend-fs2.c
+++ b/libpurple/media/backend-fs2.c
@@ -1584,6 +1584,18 @@ create_stream(PurpleMediaBackendFs2 *self,
PurpleMediaBackendFs2Session *session;
PurpleMediaBackendFs2Stream *stream;
FsParticipant *participant;
+ /* check if the prpl has already specified a relay-info
+ we need to do this to allow them to override when using non-standard
+ TURN modes, like Google f.ex. */
+ gboolean got_turn_from_prpl = FALSE;
+ int i;
+
+ for (i = 0 ; i < num_params ; i++) {
+ if (purple_strequal(params[i].name, "relay-info")) {
+ got_turn_from_prpl = TRUE;
+ break;
+ }
+ }
memcpy(_params, params, sizeof(GParameter) * num_params);
@@ -1603,7 +1615,7 @@ create_stream(PurpleMediaBackendFs2 *self,
++_num_params;
}
- if (turn_ip && !strcmp("nice", transmitter)) {
+ if (turn_ip && !strcmp("nice", transmitter) && !got_turn_from_prpl) {
GValueArray *relay_info = g_value_array_new(0);
GValue value;
gint turn_port = purple_prefs_get_int(