| Index: media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
 | 
| diff --git a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
 | 
| index 35f7deea44a321d79568a136485c38018807fc3c..4cae731351b21910711f9ebd36c8fdd05b5c224a 100644
 | 
| --- a/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
 | 
| +++ b/media/base/android/java/src/org/chromium/media/MediaCodecBridge.java
 | 
| @@ -28,16 +28,7 @@ import java.nio.ByteBuffer;
 | 
|   */
 | 
|  @JNINamespace("media")
 | 
|  class MediaCodecBridge {
 | 
| -    private static final String TAG = "cr_MediaCodecBridge";
 | 
| -
 | 
| -    // Status codes. Keep these in sync with MediaCodecStatus in media_codec_bridge.h.
 | 
| -    private static final int MEDIA_CODEC_OK = 0;
 | 
| -    private static final int MEDIA_CODEC_DEQUEUE_INPUT_AGAIN_LATER = 1;
 | 
| -    private static final int MEDIA_CODEC_DEQUEUE_OUTPUT_AGAIN_LATER = 2;
 | 
| -    private static final int MEDIA_CODEC_OUTPUT_BUFFERS_CHANGED = 3;
 | 
| -    private static final int MEDIA_CODEC_OUTPUT_FORMAT_CHANGED = 4;
 | 
| -    private static final int MEDIA_CODEC_NO_KEY = 5;
 | 
| -    private static final int MEDIA_CODEC_ERROR = 6;
 | 
| +    private static final String TAG = "cr.MediaCodecBridge";
 | 
|  
 | 
|      // After a flush(), dequeueOutputBuffer() can often produce empty presentation timestamps
 | 
|      // for several frames. As a result, the player may find that the time does not increase
 | 
| @@ -50,12 +41,6 @@ class MediaCodecBridge {
 | 
|      // We use only one output audio format (PCM16) that has 2 bytes per sample
 | 
|      private static final int PCM16_BYTES_PER_SAMPLE = 2;
 | 
|  
 | 
| -    // The following values should be kept in sync with the media::EncryptionScheme::CipherMode
 | 
| -    // enum in media/base/encryption_scheme.h
 | 
| -    private static final int MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_UNENCRYPTED = 0;
 | 
| -    private static final int MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_AES_CTR = 1;
 | 
| -    private static final int MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_AES_CBC = 2;
 | 
| -
 | 
|      private static final int MEDIA_CODEC_UNKNOWN_CIPHER_MODE = -1;
 | 
|  
 | 
|      // TODO(qinmin): Use MediaFormat constants when part of the public API.
 | 
| @@ -153,7 +138,7 @@ class MediaCodecBridge {
 | 
|      @MainDex
 | 
|      private static class GetOutputFormatResult {
 | 
|          private final int mStatus;
 | 
| -        // May be null if mStatus is not MEDIA_CODEC_OK.
 | 
| +        // May be null if mStatus is not MediaCodecStatus.OK.
 | 
|          private final MediaFormat mFormat;
 | 
|  
 | 
|          private GetOutputFormatResult(int status, MediaFormat format) {
 | 
| @@ -212,7 +197,7 @@ class MediaCodecBridge {
 | 
|              String mime, boolean isSecure, int direction, boolean requireSoftwareCodec) {
 | 
|          MediaCodecUtil.CodecCreationInfo info = new MediaCodecUtil.CodecCreationInfo();
 | 
|          try {
 | 
| -            if (direction == MediaCodecUtil.MEDIA_CODEC_ENCODER) {
 | 
| +            if (direction == MediaCodecDirection.ENCODER) {
 | 
|                  info = MediaCodecUtil.createEncoder(mime);
 | 
|              } else {
 | 
|                  // |isSecure| only applies to video decoders.
 | 
| @@ -269,15 +254,15 @@ class MediaCodecBridge {
 | 
|  
 | 
|      @CalledByNative
 | 
|      private DequeueInputResult dequeueInputBuffer(long timeoutUs) {
 | 
| -        int status = MEDIA_CODEC_ERROR;
 | 
| +        int status = MediaCodecStatus.ERROR;
 | 
|          int index = -1;
 | 
|          try {
 | 
|              int indexOrStatus = mMediaCodec.dequeueInputBuffer(timeoutUs);
 | 
|              if (indexOrStatus >= 0) { // index!
 | 
| -                status = MEDIA_CODEC_OK;
 | 
| +                status = MediaCodecStatus.OK;
 | 
|                  index = indexOrStatus;
 | 
|              } else if (indexOrStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
 | 
| -                status = MEDIA_CODEC_DEQUEUE_INPUT_AGAIN_LATER;
 | 
| +                status = MediaCodecStatus.TRY_AGAIN_LATER;
 | 
|              } else {
 | 
|                  Log.e(TAG, "Unexpected index_or_status: " + indexOrStatus);
 | 
|                  assert false;
 | 
| @@ -295,9 +280,9 @@ class MediaCodecBridge {
 | 
|              mMediaCodec.flush();
 | 
|          } catch (IllegalStateException e) {
 | 
|              Log.e(TAG, "Failed to flush MediaCodec", e);
 | 
| -            return MEDIA_CODEC_ERROR;
 | 
| +            return MediaCodecStatus.ERROR;
 | 
|          }
 | 
| -        return MEDIA_CODEC_OK;
 | 
| +        return MediaCodecStatus.OK;
 | 
|      }
 | 
|  
 | 
|      @CalledByNative
 | 
| @@ -324,12 +309,12 @@ class MediaCodecBridge {
 | 
|      @CalledByNative
 | 
|      private GetOutputFormatResult getOutputFormat() {
 | 
|          MediaFormat format = null;
 | 
| -        int status = MEDIA_CODEC_OK;
 | 
| +        int status = MediaCodecStatus.OK;
 | 
|          try {
 | 
|              format = mMediaCodec.getOutputFormat();
 | 
|          } catch (IllegalStateException e) {
 | 
|              Log.e(TAG, "Failed to get output format", e);
 | 
| -            status = MEDIA_CODEC_ERROR;
 | 
| +            status = MediaCodecStatus.ERROR;
 | 
|          }
 | 
|          return new GetOutputFormatResult(status, format);
 | 
|      }
 | 
| @@ -370,9 +355,9 @@ class MediaCodecBridge {
 | 
|              mMediaCodec.queueInputBuffer(index, offset, size, presentationTimeUs, flags);
 | 
|          } catch (Exception e) {
 | 
|              Log.e(TAG, "Failed to queue input buffer", e);
 | 
| -            return MEDIA_CODEC_ERROR;
 | 
| +            return MediaCodecStatus.ERROR;
 | 
|          }
 | 
| -        return MEDIA_CODEC_OK;
 | 
| +        return MediaCodecStatus.OK;
 | 
|      }
 | 
|  
 | 
|      @TargetApi(Build.VERSION_CODES.KITKAT)
 | 
| @@ -412,11 +397,11 @@ class MediaCodecBridge {
 | 
|      // MEDIA_CODEC_UNKNOWN_CIPHER_MODE in the case of unknown incoming value.
 | 
|      private int translateCipherModeValue(int nativeValue) {
 | 
|          switch (nativeValue) {
 | 
| -            case MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_UNENCRYPTED:
 | 
| +            case CipherMode.UNENCRYPTED:
 | 
|                  return MediaCodec.CRYPTO_MODE_UNENCRYPTED;
 | 
| -            case MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_AES_CTR:
 | 
| +            case CipherMode.AES_CTR:
 | 
|                  return MediaCodec.CRYPTO_MODE_AES_CTR;
 | 
| -            case MEDIA_ENCRYPTION_SCHEME_CIPHER_MODE_AES_CBC:
 | 
| +            case CipherMode.AES_CBC:
 | 
|                  return MediaCodec.CRYPTO_MODE_AES_CBC;
 | 
|              default:
 | 
|                  Log.e(TAG, "Unsupported cipher mode: " + nativeValue);
 | 
| @@ -432,12 +417,12 @@ class MediaCodecBridge {
 | 
|          try {
 | 
|              cipherMode = translateCipherModeValue(cipherMode);
 | 
|              if (cipherMode == MEDIA_CODEC_UNKNOWN_CIPHER_MODE) {
 | 
| -                return MEDIA_CODEC_ERROR;
 | 
| +                return MediaCodecStatus.ERROR;
 | 
|              }
 | 
|              boolean usesCbcs = cipherMode == MediaCodec.CRYPTO_MODE_AES_CBC;
 | 
|              if (usesCbcs && !MediaCodecUtil.platformSupportsCbcsEncryption()) {
 | 
|                  Log.e(TAG, "Encryption scheme 'cbcs' not supported on this platform.");
 | 
| -                return MEDIA_CODEC_ERROR;
 | 
| +                return MediaCodecStatus.ERROR;
 | 
|              }
 | 
|              CryptoInfo cryptoInfo = new CryptoInfo();
 | 
|              cryptoInfo.set(numSubSamples, numBytesOfClearData, numBytesOfEncryptedData, keyId, iv,
 | 
| @@ -448,23 +433,23 @@ class MediaCodecBridge {
 | 
|                      MediaCodecUtil.setPatternIfSupported(cryptoInfo, patternEncrypt, patternSkip);
 | 
|                  } else {
 | 
|                      Log.e(TAG, "Pattern encryption only supported for 'cbcs' scheme (CBC mode).");
 | 
| -                    return MEDIA_CODEC_ERROR;
 | 
| +                    return MediaCodecStatus.ERROR;
 | 
|                  }
 | 
|              }
 | 
|              mMediaCodec.queueSecureInputBuffer(index, offset, cryptoInfo, presentationTimeUs, 0);
 | 
|          } catch (MediaCodec.CryptoException e) {
 | 
|              if (e.getErrorCode() == MediaCodec.CryptoException.ERROR_NO_KEY) {
 | 
|                  Log.d(TAG, "Failed to queue secure input buffer: CryptoException.ERROR_NO_KEY");
 | 
| -                return MEDIA_CODEC_NO_KEY;
 | 
| +                return MediaCodecStatus.NO_KEY;
 | 
|              }
 | 
|              Log.e(TAG, "Failed to queue secure input buffer, CryptoException with error code "
 | 
|                              + e.getErrorCode());
 | 
| -            return MEDIA_CODEC_ERROR;
 | 
| +            return MediaCodecStatus.ERROR;
 | 
|          } catch (IllegalStateException e) {
 | 
|              Log.e(TAG, "Failed to queue secure input buffer, IllegalStateException " + e);
 | 
| -            return MEDIA_CODEC_ERROR;
 | 
| +            return MediaCodecStatus.ERROR;
 | 
|          }
 | 
| -        return MEDIA_CODEC_OK;
 | 
| +        return MediaCodecStatus.OK;
 | 
|      }
 | 
|  
 | 
|      @CalledByNative
 | 
| @@ -481,7 +466,7 @@ class MediaCodecBridge {
 | 
|      @CalledByNative
 | 
|      private DequeueOutputResult dequeueOutputBuffer(long timeoutUs) {
 | 
|          MediaCodec.BufferInfo info = new MediaCodec.BufferInfo();
 | 
| -        int status = MEDIA_CODEC_ERROR;
 | 
| +        int status = MediaCodecStatus.ERROR;
 | 
|          int index = -1;
 | 
|          try {
 | 
|              int indexOrStatus = mMediaCodec.dequeueOutputBuffer(info, timeoutUs);
 | 
| @@ -494,22 +479,22 @@ class MediaCodecBridge {
 | 
|              mLastPresentationTimeUs = info.presentationTimeUs;
 | 
|  
 | 
|              if (indexOrStatus >= 0) { // index!
 | 
| -                status = MEDIA_CODEC_OK;
 | 
| +                status = MediaCodecStatus.OK;
 | 
|                  index = indexOrStatus;
 | 
|              } else if (indexOrStatus == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) {
 | 
|                  mOutputBuffers = mMediaCodec.getOutputBuffers();
 | 
| -                status = MEDIA_CODEC_OUTPUT_BUFFERS_CHANGED;
 | 
| +                status = MediaCodecStatus.OUTPUT_BUFFERS_CHANGED;
 | 
|              } else if (indexOrStatus == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) {
 | 
| -                status = MEDIA_CODEC_OUTPUT_FORMAT_CHANGED;
 | 
| +                status = MediaCodecStatus.OUTPUT_FORMAT_CHANGED;
 | 
|                  MediaFormat newFormat = mMediaCodec.getOutputFormat();
 | 
|              } else if (indexOrStatus == MediaCodec.INFO_TRY_AGAIN_LATER) {
 | 
| -                status = MEDIA_CODEC_DEQUEUE_OUTPUT_AGAIN_LATER;
 | 
| +                status = MediaCodecStatus.TRY_AGAIN_LATER;
 | 
|              } else {
 | 
|                  Log.e(TAG, "Unexpected index_or_status: " + indexOrStatus);
 | 
|                  assert false;
 | 
|              }
 | 
|          } catch (IllegalStateException e) {
 | 
| -            status = MEDIA_CODEC_ERROR;
 | 
| +            status = MediaCodecStatus.ERROR;
 | 
|              Log.e(TAG, "Failed to dequeue output buffer", e);
 | 
|          }
 | 
|  
 | 
| @@ -629,7 +614,7 @@ class MediaCodecBridge {
 | 
|      }
 | 
|  
 | 
|      @CalledByNative
 | 
| -    private boolean isAdaptivePlaybackSupported(int width, int height) {
 | 
| +    private boolean isAdaptivePlaybackSupported() {
 | 
|          // If media codec has adaptive playback supported, then the max sizes
 | 
|          // used during creation are only hints.
 | 
|          return mAdaptivePlaybackSupported;
 | 
| 
 |