| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 package org.chromium.media; | 5 package org.chromium.media; |
| 6 | 6 |
| 7 import android.media.AudioFormat; | 7 import android.media.AudioFormat; |
| 8 import android.media.AudioManager; | 8 import android.media.AudioManager; |
| 9 import android.media.AudioTrack; | 9 import android.media.AudioTrack; |
| 10 import android.media.MediaCodec; | 10 import android.media.MediaCodec; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 assert(mediaCodec != null); | 134 assert(mediaCodec != null); |
| 135 mMediaCodec = mediaCodec; | 135 mMediaCodec = mediaCodec; |
| 136 mLastPresentationTimeUs = 0; | 136 mLastPresentationTimeUs = 0; |
| 137 mFlushed = true; | 137 mFlushed = true; |
| 138 } | 138 } |
| 139 | 139 |
| 140 @CalledByNative | 140 @CalledByNative |
| 141 private static MediaCodecBridge create(String mime, boolean isSecure) { | 141 private static MediaCodecBridge create(String mime, boolean isSecure) { |
| 142 MediaCodec mediaCodec = null; | 142 MediaCodec mediaCodec = null; |
| 143 try { | 143 try { |
| 144 if (isSecure) { | 144 // |isSecure| only applies to video decoders. |
| 145 if (mime.startsWith("video") && isSecure) { |
| 145 mediaCodec = MediaCodec.createByCodecName(getSecureDecoderNameFo
rMime(mime)); | 146 mediaCodec = MediaCodec.createByCodecName(getSecureDecoderNameFo
rMime(mime)); |
| 146 } else { | 147 } else { |
| 147 mediaCodec = MediaCodec.createDecoderByType(mime); | 148 mediaCodec = MediaCodec.createDecoderByType(mime); |
| 148 } | 149 } |
| 149 } catch (Exception e) { | 150 } catch (Exception e) { |
| 150 Log.e(TAG, "Failed to create MediaCodec " + e.toString()); | 151 Log.e(TAG, "Failed to create MediaCodec " + e.toString()); |
| 151 } | 152 } |
| 152 | 153 |
| 153 if (mediaCodec == null) { | 154 if (mediaCodec == null) { |
| 154 return null; | 155 return null; |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 398 } | 399 } |
| 399 | 400 |
| 400 private void resetLastPresentationTimeIfNeeded(long presentationTimeUs) { | 401 private void resetLastPresentationTimeIfNeeded(long presentationTimeUs) { |
| 401 if (mFlushed) { | 402 if (mFlushed) { |
| 402 mLastPresentationTimeUs = | 403 mLastPresentationTimeUs = |
| 403 Math.max(presentationTimeUs - MAX_PRESENTATION_TIMESTAMP_SHI
FT_US, 0); | 404 Math.max(presentationTimeUs - MAX_PRESENTATION_TIMESTAMP_SHI
FT_US, 0); |
| 404 mFlushed = false; | 405 mFlushed = false; |
| 405 } | 406 } |
| 406 } | 407 } |
| 407 } | 408 } |
| OLD | NEW |