| 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 263046b2e95b1fcbbff45c953b2a3aa57770afc5..867630143b9b92020fe807b52609430d06f5ef21 100644
|
| --- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| +++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java
|
| @@ -55,7 +55,6 @@ public class PeerConnectionClient {
|
| public static final String VIDEO_TRACK_ID = "ARDAMSv0";
|
| public static final String AUDIO_TRACK_ID = "ARDAMSa0";
|
| private static final String TAG = "PCRTCClient";
|
| - private static final String FIELD_TRIAL_VP9 = "WebRTC-SupportVP9/Enabled/";
|
| private static final String FIELD_TRIAL_AUTOMATIC_RESIZE =
|
| "WebRTC-MediaCodecVideoEncoder-AutomaticResize/Enabled/";
|
| private static final String VIDEO_CODEC_VP8 = "VP8";
|
| @@ -94,7 +93,7 @@ public class PeerConnectionClient {
|
| private VideoSource videoSource;
|
| private boolean videoCallEnabled;
|
| private boolean preferIsac;
|
| - private boolean preferH264;
|
| + private String preferredVideoCodec;
|
| private boolean videoSourceStopped;
|
| private boolean isError;
|
| private Timer statsTimer;
|
| @@ -228,7 +227,6 @@ public class PeerConnectionClient {
|
| factory = null;
|
| peerConnection = null;
|
| preferIsac = false;
|
| - preferH264 = false;
|
| videoSourceStopped = false;
|
| isError = false;
|
| queuedRemoteCandidates = null;
|
| @@ -288,20 +286,19 @@ public class PeerConnectionClient {
|
| isError = false;
|
|
|
| // Initialize field trials.
|
| - String field_trials = FIELD_TRIAL_AUTOMATIC_RESIZE;
|
| - // Check if VP9 is used by default.
|
| - if (videoCallEnabled && peerConnectionParameters.videoCodec != null
|
| - && peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_VP9)) {
|
| - field_trials += FIELD_TRIAL_VP9;
|
| + PeerConnectionFactory.initializeFieldTrials(FIELD_TRIAL_AUTOMATIC_RESIZE);
|
| +
|
| + // Check preferred video codec.
|
| + preferredVideoCodec = VIDEO_CODEC_VP8;
|
| + if (videoCallEnabled && peerConnectionParameters.videoCodec != null) {
|
| + if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_VP9)) {
|
| + preferredVideoCodec = VIDEO_CODEC_VP9;
|
| + } else if (peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264)) {
|
| + preferredVideoCodec = VIDEO_CODEC_H264;
|
| + }
|
| }
|
| - PeerConnectionFactory.initializeFieldTrials(field_trials);
|
| + Log.d(TAG, "Pereferred video codec: " + preferredVideoCodec);
|
|
|
| - // Check if H.264 is used by default.
|
| - preferH264 = false;
|
| - if (videoCallEnabled && peerConnectionParameters.videoCodec != null
|
| - && peerConnectionParameters.videoCodec.equals(VIDEO_CODEC_H264)) {
|
| - preferH264 = true;
|
| - }
|
| // Check if ISAC is used by default.
|
| preferIsac = false;
|
| if (peerConnectionParameters.audioCodec != null
|
| @@ -623,8 +620,8 @@ public class PeerConnectionClient {
|
| if (preferIsac) {
|
| sdpDescription = preferCodec(sdpDescription, AUDIO_CODEC_ISAC, true);
|
| }
|
| - if (videoCallEnabled && preferH264) {
|
| - sdpDescription = preferCodec(sdpDescription, VIDEO_CODEC_H264, false);
|
| + if (videoCallEnabled) {
|
| + sdpDescription = preferCodec(sdpDescription, preferredVideoCodec, false);
|
| }
|
| if (videoCallEnabled && peerConnectionParameters.videoStartBitrate > 0) {
|
| sdpDescription = setStartBitrate(VIDEO_CODEC_VP8, true,
|
| @@ -972,8 +969,8 @@ public class PeerConnectionClient {
|
| if (preferIsac) {
|
| sdpDescription = preferCodec(sdpDescription, AUDIO_CODEC_ISAC, true);
|
| }
|
| - if (videoCallEnabled && preferH264) {
|
| - sdpDescription = preferCodec(sdpDescription, VIDEO_CODEC_H264, false);
|
| + if (videoCallEnabled) {
|
| + sdpDescription = preferCodec(sdpDescription, preferredVideoCodec, false);
|
| }
|
| final SessionDescription sdp = new SessionDescription(
|
| origSdp.type, sdpDescription);
|
|
|