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:
@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user