| Index: webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
|
| diff --git a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
|
| index b726860e8ec7f6337e5b2bbb55b574328c310863..dd7e9340d47ba99e5f92a9a266cf7a67be0a85e3 100644
|
| --- a/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
|
| +++ b/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java
|
| @@ -54,7 +54,8 @@ public class MediaCodecVideoEncoder {
|
| // Amount of correction steps to reach correction maximum scale.
|
| private static final int BITRATE_CORRECTION_STEPS = 20;
|
| // Forced key frame interval - used to reduce color distortions on Qualcomm platform.
|
| - private static final long QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_M_MS = 25000;
|
| + private static final long QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_L_MS = 15000;
|
| + private static final long QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_M_MS = 20000;
|
| private static final long QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_N_MS = 15000;
|
|
|
| // Active running encoder instance. Set in initEncode() (called from native code)
|
| @@ -425,7 +426,10 @@ public class MediaCodecVideoEncoder {
|
| lastKeyFrameMs = -1;
|
| if (type == VideoCodecType.VIDEO_CODEC_VP8
|
| && properties.codecName.startsWith(qcomVp8HwProperties.codecPrefix)) {
|
| - if (Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
|
| + if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP
|
| + || Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP_MR1) {
|
| + forcedKeyFrameMs = QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_L_MS;
|
| + } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
|
| forcedKeyFrameMs = QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_M_MS;
|
| } else if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
|
| forcedKeyFrameMs = QCOM_VP8_KEY_FRAME_INTERVAL_ANDROID_N_MS;
|
|
|