| Index: webrtc/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java | 
| diff --git a/webrtc/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java b/webrtc/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java | 
| index ea84bc4335bc0bb11510c1e40e9cb3da0d369bbb..9324ba3f25d7bb6e84faa9c4a9ab41f348fc1842 100644 | 
| --- a/webrtc/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java | 
| +++ b/webrtc/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java | 
| @@ -14,13 +14,11 @@ import static org.webrtc.MediaCodecUtils.EXYNOS_PREFIX; | 
| import static org.webrtc.MediaCodecUtils.INTEL_PREFIX; | 
| import static org.webrtc.MediaCodecUtils.QCOM_PREFIX; | 
|  | 
| -import android.media.MediaCodec; | 
| import android.media.MediaCodecInfo; | 
| -import android.media.MediaCodecInfo.CodecCapabilities; | 
| import android.media.MediaCodecList; | 
| import android.os.Build; | 
| -import java.util.Arrays; | 
| import java.util.ArrayList; | 
| +import java.util.Arrays; | 
| import java.util.HashMap; | 
| import java.util.List; | 
| import java.util.Map; | 
| @@ -41,20 +39,6 @@ public class HardwareVideoEncoderFactory implements VideoEncoderFactory { | 
| private static final List<String> H264_HW_EXCEPTION_MODELS = | 
| Arrays.asList("SAMSUNG-SGH-I337", "Nexus 7", "Nexus 4"); | 
|  | 
| -  // Keys for H264 VideoCodecInfo properties. | 
| -  private static final String H264_FMTP_PROFILE_LEVEL_ID = "profile-level-id"; | 
| -  private static final String H264_FMTP_LEVEL_ASYMMETRY_ALLOWED = "level-asymmetry-allowed"; | 
| -  private static final String H264_FMTP_PACKETIZATION_MODE = "packetization-mode"; | 
| - | 
| -  // Supported H264 profile ids and levels. | 
| -  private static final String H264_PROFILE_CONSTRAINED_BASELINE = "4200"; | 
| -  private static final String H264_PROFILE_CONSTRAINED_HIGH = "640c"; | 
| -  private static final String H264_LEVEL_3_1 = "1f"; // 31 in hex. | 
| -  private static final String H264_CONSTRAINED_BASELINE_3_1 = | 
| -      H264_PROFILE_CONSTRAINED_BASELINE + H264_LEVEL_3_1; | 
| -  private static final String H264_CONSTRAINED_HIGH_3_1 = | 
| -      H264_PROFILE_CONSTRAINED_HIGH + H264_LEVEL_3_1; | 
| - | 
| private final EglBase14.Context sharedContext; | 
| private final boolean enableIntelVp8Encoder; | 
| private final boolean enableH264HighProfile; | 
| @@ -93,9 +77,9 @@ public class HardwareVideoEncoderFactory implements VideoEncoderFactory { | 
| : MediaCodecUtils.TEXTURE_COLOR_FORMATS, | 
| info.getCapabilitiesForType(mime)); | 
|  | 
| -    return new HardwareVideoEncoder(codecName, type, colorFormat, getKeyFrameIntervalSec(type), | 
| -        getForcedKeyFrameIntervalMs(type, codecName), createBitrateAdjuster(type, codecName), | 
| -        sharedContext); | 
| +    return new HardwareVideoEncoder(codecName, type, colorFormat, input.params, | 
| +        getKeyFrameIntervalSec(type), getForcedKeyFrameIntervalMs(type, codecName), | 
| +        createBitrateAdjuster(type, codecName), sharedContext); | 
| } | 
|  | 
| @Override | 
| @@ -250,10 +234,11 @@ public class HardwareVideoEncoderFactory implements VideoEncoderFactory { | 
| return new HashMap<String, String>(); | 
| case H264: | 
| Map<String, String> properties = new HashMap<>(); | 
| -        properties.put(H264_FMTP_LEVEL_ASYMMETRY_ALLOWED, "1"); | 
| -        properties.put(H264_FMTP_PACKETIZATION_MODE, "1"); | 
| -        properties.put(H264_FMTP_PROFILE_LEVEL_ID, | 
| -            highProfile ? H264_CONSTRAINED_HIGH_3_1 : H264_CONSTRAINED_BASELINE_3_1); | 
| +        properties.put(VideoCodecInfo.H264_FMTP_LEVEL_ASYMMETRY_ALLOWED, "1"); | 
| +        properties.put(VideoCodecInfo.H264_FMTP_PACKETIZATION_MODE, "1"); | 
| +        properties.put(VideoCodecInfo.H264_FMTP_PROFILE_LEVEL_ID, | 
| +            highProfile ? VideoCodecInfo.H264_CONSTRAINED_HIGH_3_1 | 
| +                        : VideoCodecInfo.H264_CONSTRAINED_BASELINE_3_1); | 
| return properties; | 
| default: | 
| throw new IllegalArgumentException("Unsupported codec: " + type); | 
|  |