Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ android {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation project(':webrtc')
implementation 'org.webrtc:google-webrtc:1.0.24277'
implementation 'org.webrtc:google-webrtc:1.0.27485'
implementation 'com.android.support:appcompat-v7:27.1.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
Expand Down
66 changes: 41 additions & 25 deletions app/src/main/java/com/example/webrtc/android/CallActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.View;
Expand All @@ -36,7 +37,6 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import javax.annotation.Nullable;

import org.appspot.apprtc.AppRTCAudioManager;
import org.appspot.apprtc.AppRTCAudioManager.AudioDevice;
Expand Down Expand Up @@ -128,8 +128,6 @@ public class CallActivity extends Activity implements AppRTCClient.SignalingEven
public static final String EXTRA_NEGOTIATED = "org.appspot.apprtc.NEGOTIATED";
public static final String EXTRA_ID = "org.appspot.apprtc.ID";
public static final String EXTRA_ENABLE_RTCEVENTLOG = "org.appspot.apprtc.ENABLE_RTCEVENTLOG";
public static final String EXTRA_USE_LEGACY_AUDIO_DEVICE =
"org.appspot.apprtc.USE_LEGACY_AUDIO_DEVICE";

private static final int CAPTURE_PERMISSION_REQUEST_CODE = 1;

Expand Down Expand Up @@ -160,14 +158,12 @@ synchronized public void setTarget(VideoSink target) {

private final ProxyVideoSink remoteProxyRenderer = new ProxyVideoSink();
private final ProxyVideoSink localProxyVideoSink = new ProxyVideoSink();
@Nullable
private PeerConnectionClient peerConnectionClient = null;
@Nullable private PeerConnectionClient peerConnectionClient;
@Nullable
private AppRTCClient appRtcClient;
@Nullable
private SignalingParameters signalingParameters;
@Nullable
private AppRTCAudioManager audioManager = null;
@Nullable private AppRTCAudioManager audioManager;
@Nullable
private SurfaceViewRenderer pipRenderer;
@Nullable
Expand All @@ -181,12 +177,12 @@ synchronized public void setTarget(VideoSink target) {
private RoomConnectionParameters roomConnectionParameters;
@Nullable
private PeerConnectionParameters peerConnectionParameters;
private boolean iceConnected;
private boolean connected;
private boolean isError;
private boolean callControlFragmentVisible = true;
private long callStartedTimeMs = 0;
private long callStartedTimeMs;
private boolean micEnabled = true;
private boolean screencaptureEnabled = false;
private boolean screencaptureEnabled;
private static Intent mediaProjectionPermissionResultData;
private static int mediaProjectionPermissionResultCode;
// True if local view is in the fullscreen renderer.
Expand All @@ -213,7 +209,7 @@ public void onCreate(Bundle savedInstanceState) {
getWindow().getDecorView().setSystemUiVisibility(getSystemUiVisibility());
setContentView(R.layout.activity_call);

iceConnected = false;
connected = false;
signalingParameters = null;

// Create UI controls.
Expand Down Expand Up @@ -283,7 +279,7 @@ public void onClick(View view) {

Uri roomUri = intent.getData();
if (roomUri == null) {
logAndToast(getString(org.appspot.apprtc.R.string.missing_url));
logAndToast(getString(R.string.missing_url));
Log.e(TAG, "Didn't get any URL in intent!");
setResult(RESULT_CANCELED);
finish();
Expand All @@ -294,7 +290,7 @@ public void onClick(View view) {
String roomId = intent.getStringExtra(EXTRA_ROOMID);
Log.d(TAG, "Room ID: " + roomId);
if (roomId == null || roomId.length() == 0) {
logAndToast(getString(org.appspot.apprtc.R.string.missing_url));
logAndToast(getString(R.string.missing_url));
Log.e(TAG, "Incorrect room ID in intent!");
setResult(RESULT_CANCELED);
finish();
Expand Down Expand Up @@ -336,8 +332,7 @@ public void onClick(View view) {
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_AGC, false),
intent.getBooleanExtra(EXTRA_DISABLE_BUILT_IN_NS, false),
intent.getBooleanExtra(EXTRA_DISABLE_WEBRTC_AGC_AND_HPF, false),
intent.getBooleanExtra(EXTRA_ENABLE_RTCEVENTLOG, false),
intent.getBooleanExtra(EXTRA_USE_LEGACY_AUDIO_DEVICE, false), dataChannelParameters);
intent.getBooleanExtra(EXTRA_ENABLE_RTCEVENTLOG, false), dataChannelParameters);
commandLineRun = intent.getBooleanExtra(EXTRA_CMDLINE, false);
int runTimeMs = intent.getIntExtra(EXTRA_RUNTIME, 0);

Expand Down Expand Up @@ -563,7 +558,7 @@ public boolean onToggleMic() {

// Helper functions.
private void toggleCallControlFragmentVisibility() {
if (!iceConnected || !callFragment.isAdded()) {
if (!connected || !callFragment.isAdded()) {
return;
}
// Show/hide call control fragment
Expand All @@ -588,7 +583,7 @@ private void startCall() {
callStartedTimeMs = System.currentTimeMillis();

// Start room connection.
logAndToast(getString(org.appspot.apprtc.R.string.connecting_to, roomConnectionParameters.roomUrl));
logAndToast(getString(R.string.connecting_to, roomConnectionParameters.roomUrl));
appRtcClient.connectToRoom(roomConnectionParameters);

// Create and audio manager that will take care of audio routing,
Expand Down Expand Up @@ -659,7 +654,7 @@ private void disconnect() {
audioManager.stop();
audioManager = null;
}
if (iceConnected && !isError) {
if (connected && !isError) {
setResult(RESULT_OK);
} else {
setResult(RESULT_CANCELED);
Expand All @@ -673,10 +668,10 @@ private void disconnectWithErrorMessage(final String errorMessage) {
disconnect();
} else {
new AlertDialog.Builder(this)
.setTitle(getText(org.appspot.apprtc.R.string.channel_error_title))
.setTitle(getText(R.string.channel_error_title))
.setMessage(errorMessage)
.setCancelable(false)
.setNeutralButton(org.appspot.apprtc.R.string.ok,
.setNeutralButton(R.string.ok,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
Expand Down Expand Up @@ -725,7 +720,7 @@ public void run() {
return createScreenCapturer();
} else if (useCamera2()) {
if (!captureToTexture()) {
reportError(getString(org.appspot.apprtc.R.string.camera2_texture_only_error));
reportError(getString(R.string.camera2_texture_only_error));
return null;
}

Expand Down Expand Up @@ -921,8 +916,6 @@ public void onIceConnected() {
@Override
public void run() {
logAndToast("ICE connected, delay=" + delta + "ms");
iceConnected = true;
callConnected();
}
});
}
Expand All @@ -933,7 +926,30 @@ public void onIceDisconnected() {
@Override
public void run() {
logAndToast("ICE disconnected");
iceConnected = false;
}
});
}

@Override
public void onConnected() {
final long delta = System.currentTimeMillis() - callStartedTimeMs;
runOnUiThread(new Runnable() {
@Override
public void run() {
logAndToast("DTLS connected, delay=" + delta + "ms");
connected = true;
callConnected();
}
});
}

@Override
public void onDisconnected() {
runOnUiThread(new Runnable() {
@Override
public void run() {
logAndToast("DTLS disconnected");
connected = false;
disconnect();
}
});
Expand All @@ -947,7 +963,7 @@ public void onPeerConnectionStatsReady(final StatsReport[] reports) {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!isError && iceConnected) {
if (!isError && connected) {
hudFragment.updateEncoderStatistics(reports);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ public class CaptureQualityController implements SeekBar.OnSeekBarChangeListener
private static final int FRAMERATE_THRESHOLD = 15;
private TextView captureFormatText;
private CallFragment.OnCallEvents callEvents;
private int width = 0;
private int height = 0;
private int framerate = 0;
private double targetBandwidth = 0;
private int width;
private int height;
private int framerate;
private double targetBandwidth;

public CaptureQualityController(
TextView captureFormatText, CallFragment.OnCallEvents callEvents) {
Expand Down Expand Up @@ -64,7 +64,7 @@ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
width = 0;
height = 0;
framerate = 0;
captureFormatText.setText(org.appspot.apprtc.R.string.muted);
captureFormatText.setText(R.string.muted);
return;
}

Expand All @@ -89,7 +89,7 @@ public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
height = bestFormat.height;
framerate = calculateFramerate(targetBandwidth, bestFormat);
captureFormatText.setText(
String.format(captureFormatText.getContext().getString(org.appspot.apprtc.R.string.format_description), width,
String.format(captureFormatText.getContext().getString(R.string.format_description), width,
height, framerate));
}

Expand Down
Loading