Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1322)

Unified Diff: media/base/android/java/src/org/chromium/media/MediaDrmBridge.java

Issue 23480036: Support creating secure decoder in MediaCodecBridge. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
diff --git a/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java b/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
index b5191067dec0cc45dcbb50c07da23694e6026426..777d06c3140a80726378f9f85be558c623c9a11b 100644
--- a/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
+++ b/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java
@@ -59,20 +59,15 @@ class MediaDrmBridge {
return new UUID(mostSigBits, leastSigBits);
}
- private MediaDrmBridge(UUID schemeUUID, String securityLevel, int nativeMediaDrmBridge) {
- try {
- mSchemeUUID = schemeUUID;
- mMediaDrm = new MediaDrm(schemeUUID);
- mHandler = new Handler();
- mNativeMediaDrmBridge = nativeMediaDrmBridge;
- mMediaDrm.setOnEventListener(new MediaDrmListener());
- mMediaDrm.setPropertyString(PRIVACY_MODE, "enable");
- mMediaDrm.setPropertyString(SECURITY_LEVEL, securityLevel);
- } catch (android.media.UnsupportedSchemeException e) {
- Log.e(TAG, "Unsupported DRM scheme: " + e.toString());
- } catch (java.lang.IllegalArgumentException e) {
- Log.e(TAG, "Failed to set DRM properties: " + e.toString());
- }
+ private MediaDrmBridge(UUID schemeUUID, String securityLevel, int nativeMediaDrmBridge)
+ throws android.media.UnsupportedSchemeException {
+ mSchemeUUID = schemeUUID;
+ mMediaDrm = new MediaDrm(schemeUUID);
+ mHandler = new Handler();
+ mNativeMediaDrmBridge = nativeMediaDrmBridge;
+ mMediaDrm.setOnEventListener(new MediaDrmListener());
+ mMediaDrm.setPropertyString(PRIVACY_MODE, "enable");
+ mMediaDrm.setPropertyString(SECURITY_LEVEL, securityLevel);
}
/**
@@ -136,7 +131,7 @@ class MediaDrmBridge {
}
/**
- * Create a new MediaDrmBridge from the crypto scheme UUID.
+ * Create a new from the crypto scheme UUID.
qinmin 2013/09/05 22:15:31 s/new/new MediaDrmBridge/
xhwang 2013/09/06 02:17:47 Not sure how I changed this. Reverted.
*
* @param schemeUUID Crypto scheme UUID.
* @param securityLevel Security level to be used.
@@ -146,10 +141,21 @@ class MediaDrmBridge {
private static MediaDrmBridge create(
byte[] schemeUUID, String securityLevel, int nativeMediaDrmBridge) {
UUID cryptoScheme = getUUIDFromBytes(schemeUUID);
- if (cryptoScheme != null && MediaDrm.isCryptoSchemeSupported(cryptoScheme)) {
- return new MediaDrmBridge(cryptoScheme, securityLevel, nativeMediaDrmBridge);
+ if (cryptoScheme == null || !MediaDrm.isCryptoSchemeSupported(cryptoScheme)) {
+ return null;
+ }
+
+ MediaDrmBridge media_drm_bridge = null;
+ try {
+ media_drm_bridge = new MediaDrmBridge(
+ cryptoScheme, securityLevel, nativeMediaDrmBridge);
+ } catch (android.media.UnsupportedSchemeException e) {
+ Log.e(TAG, "Unsupported DRM scheme: " + e.toString());
+ } catch (java.lang.IllegalArgumentException e) {
+ Log.e(TAG, "Failed to set DRM properties: " + e.toString());
qinmin 2013/09/05 22:15:31 There is no set DRM properties call inside this fu
xhwang 2013/09/06 02:17:47 How about changing this error message?
}
- return null;
+
+ return media_drm_bridge;
}
/**
@@ -167,6 +173,7 @@ class MediaDrmBridge {
private void release() {
if (mMediaCrypto != null) {
mMediaCrypto.release();
+ mMediaCrypto = null;
}
if (mSessionId != null) {
try {
@@ -175,9 +182,12 @@ class MediaDrmBridge {
} catch (java.io.UnsupportedEncodingException e) {
Log.e(TAG, "Failed to close session: " + e.toString());
}
+ mSessionId = null;
+ }
+ if (mMediaDrm != null) {
+ mMediaDrm.release();
+ mMediaDrm = null;
}
- mMediaDrm.release();
- mMediaDrm = null;
}
/**

Powered by Google App Engine
This is Rietveld 408576698