Index: webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
diff --git a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
index 6e54ae22626ff9a2d9ca642b3d68f6fb5a5e042d..5202e8bd9bd11fefd9532d71fd13730403365a1d 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
@@ -216,7 +216,6 @@ public class PeerConnectionClient { |
public void createPeerConnectionFactory( |
final Context context, |
- final EGLContext renderEGLContext, |
final PeerConnectionParameters peerConnectionParameters, |
final PeerConnectionEvents events) { |
this.peerConnectionParameters = peerConnectionParameters; |
@@ -241,12 +240,13 @@ public class PeerConnectionClient { |
executor.execute(new Runnable() { |
@Override |
public void run() { |
- createPeerConnectionFactoryInternal(context, renderEGLContext); |
+ createPeerConnectionFactoryInternal(context); |
} |
}); |
} |
public void createPeerConnection( |
+ final EGLContext renderEGLContext, |
final VideoRenderer.Callbacks localRender, |
final VideoRenderer.Callbacks remoteRender, |
final SignalingParameters signalingParameters) { |
@@ -261,7 +261,7 @@ public class PeerConnectionClient { |
@Override |
public void run() { |
createMediaConstraintsInternal(); |
- createPeerConnectionInternal(); |
+ createPeerConnectionInternal(renderEGLContext); |
} |
}); |
} |
@@ -279,11 +279,9 @@ public class PeerConnectionClient { |
return videoCallEnabled; |
} |
- private void createPeerConnectionFactoryInternal( |
- Context context, EGLContext renderEGLContext) { |
- Log.d(TAG, "Create peer connection factory with EGLContext " |
- + renderEGLContext + ". Use video: " |
- + peerConnectionParameters.videoCallEnabled); |
+ private void createPeerConnectionFactoryInternal(Context context) { |
+ Log.d(TAG, "Create peer connection factory. Use video: " + |
+ peerConnectionParameters.videoCallEnabled); |
isError = false; |
// Check if VP9 is used by default. |
if (videoCallEnabled && peerConnectionParameters.videoCodec != null |
@@ -304,9 +302,8 @@ public class PeerConnectionClient { |
&& peerConnectionParameters.audioCodec.equals(AUDIO_CODEC_ISAC)) { |
preferIsac = true; |
} |
- if (!PeerConnectionFactory.initializeAndroidGlobals( |
- context, true, true, |
- peerConnectionParameters.videoCodecHwAcceleration, renderEGLContext)) { |
+ if (!PeerConnectionFactory.initializeAndroidGlobals(context, true, true, |
+ peerConnectionParameters.videoCodecHwAcceleration)) { |
events.onPeerConnectionError("Failed to initializeAndroidGlobals"); |
} |
factory = new PeerConnectionFactory(); |
@@ -402,18 +399,24 @@ public class PeerConnectionClient { |
} |
} |
- private void createPeerConnectionInternal() { |
+ private void createPeerConnectionInternal(EGLContext renderEGLContext) { |
if (factory == null || isError) { |
Log.e(TAG, "Peerconnection factory is not created"); |
return; |
} |
- Log.d(TAG, "Create peer connection"); |
+ Log.d(TAG, "Create peer connection."); |
+ |
Log.d(TAG, "PCConstraints: " + pcConstraints.toString()); |
if (videoConstraints != null) { |
Log.d(TAG, "VideoConstraints: " + videoConstraints.toString()); |
} |
queuedRemoteCandidates = new LinkedList<IceCandidate>(); |
+ if (videoCallEnabled) { |
+ Log.d(TAG, "EGLContext: " + renderEGLContext); |
+ factory.setVideoHwAccelerationOptions(renderEGLContext); |
+ } |
+ |
PeerConnection.RTCConfiguration rtcConfig = |
new PeerConnection.RTCConfiguration(signalingParameters.iceServers); |
// TCP candidates are only useful when connecting to a server that supports |