Commit b66a1aed authored by Olivier Crête's avatar Olivier Crête

agent: Refactor nice_agent_set_relay_info()

No behavior change is introduced
parent f535a142
...@@ -1921,6 +1921,8 @@ nice_agent_set_relay_info(NiceAgent *agent, ...@@ -1921,6 +1921,8 @@ nice_agent_set_relay_info(NiceAgent *agent,
{ {
Component *component = NULL; Component *component = NULL;
gboolean ret = TRUE;
TurnServer *turn;
g_return_val_if_fail (server_ip, FALSE); g_return_val_if_fail (server_ip, FALSE);
g_return_val_if_fail (server_port, FALSE); g_return_val_if_fail (server_port, FALSE);
...@@ -1930,19 +1932,24 @@ nice_agent_set_relay_info(NiceAgent *agent, ...@@ -1930,19 +1932,24 @@ nice_agent_set_relay_info(NiceAgent *agent,
agent_lock(); agent_lock();
if (agent_find_component (agent, stream_id, component_id, NULL, &component)) { if (!agent_find_component (agent, stream_id, component_id, NULL,
TurnServer *turn = g_slice_new0 (TurnServer); &component)) {
ret = FALSE;
goto done;
}
turn = g_slice_new0 (TurnServer);
nice_address_init (&turn->server); nice_address_init (&turn->server);
if (nice_address_set_from_string (&turn->server, server_ip)) { if (nice_address_set_from_string (&turn->server, server_ip)) {
nice_address_set_port (&turn->server, server_port); nice_address_set_port (&turn->server, server_port);
} else { } else {
g_slice_free (TurnServer, turn); g_slice_free (TurnServer, turn);
agent_unlock_and_emit (agent); ret = FALSE;
return FALSE; goto done;
} }
turn->username = g_strdup (username); turn->username = g_strdup (username);
turn->password = g_strdup (password); turn->password = g_strdup (password);
turn->type = type; turn->type = type;
...@@ -1951,10 +1958,11 @@ nice_agent_set_relay_info(NiceAgent *agent, ...@@ -1951,10 +1958,11 @@ nice_agent_set_relay_info(NiceAgent *agent,
server_ip, server_port, type); server_ip, server_port, type);
component->turn_servers = g_list_append (component->turn_servers, turn); component->turn_servers = g_list_append (component->turn_servers, turn);
}
done:
agent_unlock_and_emit (agent); agent_unlock_and_emit (agent);
return TRUE; return ret;
} }
#ifdef HAVE_GUPNP #ifdef HAVE_GUPNP
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment