Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
libnice
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cpp-libs
libnice
Commits
378ad837
Commit
378ad837
authored
Oct 09, 2008
by
Youness Alaoui
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Correctly add a relay candidate
parent
a7eaf5fe
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
36 deletions
+34
-36
agent/discovery.c
agent/discovery.c
+34
-36
No files found.
agent/discovery.c
View file @
378ad837
...
@@ -431,53 +431,51 @@ discovery_add_relay_candidate (
...
@@ -431,53 +431,51 @@ discovery_add_relay_candidate (
candidate
=
nice_candidate_new
(
NICE_CANDIDATE_TYPE_RELAYED
);
candidate
=
nice_candidate_new
(
NICE_CANDIDATE_TYPE_RELAYED
);
if
(
candidate
)
{
if
(
candidate
)
{
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_GOOGLE
)
{
candidate
->
priority
=
nice_candidate_jingle_priority
(
candidate
)
*
1000
;
}
else
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_MSN
)
{
candidate
->
priority
=
nice_candidate_msn_priority
(
candidate
)
*
1000
;
}
else
{
candidate
->
priority
=
nice_candidate_ice_priority_full
(
NICE_CANDIDATE_TYPE_PREF_RELAYED
,
0
,
component_id
);
}
candidate
->
stream_id
=
stream_id
;
candidate
->
component_id
=
component_id
;
candidate
->
addr
=
*
address
;
/* step: link to the base candidate+socket */
relay_socket
=
nice_udp_turn_socket_new
(
agent
,
address
,
base_socket
,
&
component
->
turn_server
,
component
->
turn_username
,
component
->
turn_password
,
priv_agent_to_udp_turn_compatibility
(
agent
));
if
(
relay_socket
)
{
if
(
relay_socket
)
{
candidate
->
sockptr
=
relay_socket
;
candidate
->
base_addr
=
base_socket
->
addr
;
priv_generate_candidate_credentials
(
agent
,
candidate
);
/* Google uses the turn username as the candidate username */
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_GOOGLE
)
{
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_GOOGLE
)
{
candidate
->
priority
=
nice_candidate_jingle_priority
(
candidate
)
*
1000
;
g_free
(
candidate
->
username
);
}
else
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_MSN
)
{
candidate
->
username
=
g_strdup
(
component
->
turn_username
);
candidate
->
priority
=
nice_candidate_msn_priority
(
candidate
)
*
1000
;
}
else
{
candidate
->
priority
=
nice_candidate_ice_priority_full
(
NICE_CANDIDATE_TYPE_PREF_RELAYED
,
0
,
component_id
);
}
}
candidate
->
stream_id
=
stream_id
;
candidate
->
component_id
=
component_id
;
candidate
->
addr
=
*
address
;
/* step: link to the base candidate+socket */
relay_socket
=
nice_udp_turn_socket_new
(
agent
,
address
,
base_socket
,
&
component
->
turn_server
,
component
->
turn_username
,
component
->
turn_password
,
priv_agent_to_udp_turn_compatibility
(
agent
));
if
(
relay_socket
)
{
candidate
->
sockptr
=
relay_socket
;
candidate
->
base_addr
=
base_socket
->
addr
;
priv_generate_candidate_credentials
(
agent
,
candidate
);
/* Google uses the turn username as the candidate username */
if
(
agent
->
compatibility
==
NICE_COMPATIBILITY_GOOGLE
)
{
g_free
(
candidate
->
username
);
candidate
->
username
=
g_strdup
(
component
->
turn_username
);
}
priv_assign_foundation
(
agent
,
candidate
);
priv_assign_foundation
(
agent
,
candidate
);
result
=
priv_add_local_candidate_pruned
(
component
,
candidate
);
result
=
priv_add_local_candidate_pruned
(
component
,
candidate
);
if
(
result
)
{
if
(
result
)
{
agent_signal_new_candidate
(
agent
,
candidate
);
agent_signal_new_candidate
(
agent
,
candidate
);
}
else
{
/* error: memory allocation, or duplicate candidate */
errors
=
TRUE
;
}
}
else
{
}
else
{
/* error:
socket factory mak
e */
/* error:
memory allocation, or duplicate candidat
e */
errors
=
TRUE
;
errors
=
TRUE
;
}
}
}
else
{
}
else
{
/* error:
udp socket memory allocation
*/
/* error:
socket factory make
*/
errors
=
TRUE
;
errors
=
TRUE
;
}
}
}
else
{
/* error: udp socket memory allocation */
errors
=
TRUE
;
}
}
/* clean up after errors */
/* clean up after errors */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment