Update ice server provider response format in the Android AppRTCDemo app

BUG=None

Review URL: https://codereview.webrtc.org/1862423002

Cr-Commit-Position: refs/heads/master@{#12310}
This commit is contained in:
jansson
2016-04-11 02:42:14 -07:00
committed by Commit bot
parent 8aba997f3e
commit 18d3d1e466

View File

@ -145,7 +145,7 @@ public class RoomParametersFetcher {
// Request TURN servers. // Request TURN servers.
if (!isTurnPresent) { if (!isTurnPresent) {
LinkedList<PeerConnection.IceServer> turnServers = LinkedList<PeerConnection.IceServer> turnServers =
requestTurnServers(roomJson.getString("turn_url")); requestTurnServers(roomJson.getString("ice_server_url"));
for (PeerConnection.IceServer turnServer : turnServers) { for (PeerConnection.IceServer turnServer : turnServers) {
Log.d(TAG, "TurnServer: " + turnServer); Log.d(TAG, "TurnServer: " + turnServer);
iceServers.add(turnServer); iceServers.add(turnServer);
@ -172,7 +172,10 @@ public class RoomParametersFetcher {
LinkedList<PeerConnection.IceServer> turnServers = LinkedList<PeerConnection.IceServer> turnServers =
new LinkedList<PeerConnection.IceServer>(); new LinkedList<PeerConnection.IceServer>();
Log.d(TAG, "Request TURN from: " + url); Log.d(TAG, "Request TURN from: " + url);
HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); HttpURLConnection connection =
(HttpURLConnection) new URL(url).openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("REFERER", "https://appr.tc");
connection.setConnectTimeout(TURN_HTTP_TIMEOUT_MS); connection.setConnectTimeout(TURN_HTTP_TIMEOUT_MS);
connection.setReadTimeout(TURN_HTTP_TIMEOUT_MS); connection.setReadTimeout(TURN_HTTP_TIMEOUT_MS);
int responseCode = connection.getResponseCode(); int responseCode = connection.getResponseCode();
@ -185,12 +188,19 @@ public class RoomParametersFetcher {
connection.disconnect(); connection.disconnect();
Log.d(TAG, "TURN response: " + response); Log.d(TAG, "TURN response: " + response);
JSONObject responseJSON = new JSONObject(response); JSONObject responseJSON = new JSONObject(response);
String username = responseJSON.getString("username"); JSONArray iceServers = responseJSON.getJSONArray("iceServers");
String password = responseJSON.getString("password"); for (int i = 0; i < iceServers.length(); ++i) {
JSONArray turnUris = responseJSON.getJSONArray("uris"); JSONObject server = iceServers.getJSONObject(i);
for (int i = 0; i < turnUris.length(); i++) { JSONArray turnUrls = server.getJSONArray("urls");
String uri = turnUris.getString(i); String username =
turnServers.add(new PeerConnection.IceServer(uri, username, password)); server.has("username") ? server.getString("username") : "";
String credential =
server.has("credential") ? server.getString("credential") : "";
for (int j = 0; j < turnUrls.length(); j++) {
String turnUrl = turnUrls.getString(j);
turnServers.add(new PeerConnection.IceServer(turnUrl, username,
credential));
}
} }
return turnServers; return turnServers;
} }