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 72e9cac4d20e9b42de6a6cf616e22e8f0ecbeeee..aaffb891ed4061fd10af650c63e460dde2c8e45d 100644 |
--- a/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
+++ b/webrtc/examples/androidapp/src/org/appspot/apprtc/PeerConnectionClient.java |
@@ -71,6 +71,8 @@ public class PeerConnectionClient { |
private static final String VIDEO_CODEC_VP8 = "VP8"; |
private static final String VIDEO_CODEC_VP9 = "VP9"; |
private static final String VIDEO_CODEC_H264 = "H264"; |
+ private static final String VIDEO_CODEC_H264_BASELINE = "H264 Baseline"; |
+ private static final String VIDEO_CODEC_H264_HIGH = "H264 High"; |
private static final String AUDIO_CODEC_OPUS = "opus"; |
private static final String AUDIO_CODEC_ISAC = "ISAC"; |
private static final String VIDEO_CODEC_PARAM_START_BITRATE = "x-google-start-bitrate"; |
@@ -380,19 +382,31 @@ public class PeerConnectionClient { |
Log.d(TAG, "Enable FlexFEC field trial."); |
} |
fieldTrials += VIDEO_VP8_INTEL_HW_ENCODER_FIELDTRIAL; |
- fieldTrials += VIDEO_H264_HIGH_PROFILE_FIELDTRIAL; |
- PeerConnectionFactory.initializeFieldTrials(fieldTrials); |
// 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; |
+ switch (peerConnectionParameters.videoCodec) { |
+ case VIDEO_CODEC_VP8: |
+ preferredVideoCodec = VIDEO_CODEC_VP8; |
+ break; |
+ case VIDEO_CODEC_VP9: |
+ preferredVideoCodec = VIDEO_CODEC_VP9; |
+ break; |
+ case VIDEO_CODEC_H264_BASELINE: |
+ preferredVideoCodec = VIDEO_CODEC_H264; |
+ break; |
+ case VIDEO_CODEC_H264_HIGH: |
+ // TODO(magjed): Strip High from SDP when selecting Baseline instead of using field trial. |
+ fieldTrials += VIDEO_H264_HIGH_PROFILE_FIELDTRIAL; |
+ preferredVideoCodec = VIDEO_CODEC_H264; |
+ break; |
+ default: |
+ preferredVideoCodec = VIDEO_CODEC_VP8; |
} |
} |
Log.d(TAG, "Preferred video codec: " + preferredVideoCodec); |
+ PeerConnectionFactory.initializeFieldTrials(fieldTrials); |
AlexG
2017/02/13 20:52:57
nit: worth to log fieldTrails value for debug purp
magjed_webrtc
2017/02/14 10:02:09
Done.
|
// Check if ISAC is used by default. |
preferIsac = peerConnectionParameters.audioCodec != null |