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 2c5adf3846b12b306d3216d897de187735c537b9..8f32ccb85b000a9c9c511f5d1424cfaffbc902cb 100644 |
--- a/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java |
+++ b/media/base/android/java/src/org/chromium/media/MediaDrmBridge.java |
@@ -378,7 +378,12 @@ public class MediaDrmBridge { |
mPendingCreateSessionDataQueue = null; |
for (ByteBuffer sessionId : mSessionIds.keySet()) { |
- mMediaDrm.removeKeys(sessionId.array()); |
+ try { |
+ // Some implementations don't have removeKeys, crbug/475632 |
+ mMediaDrm.removeKeys(sessionId.array()); |
+ } catch (Exception e) { |
+ Log.e(TAG, "removeKeys failed: ", e); |
+ } |
mMediaDrm.closeSession(sessionId.array()); |
onSessionClosed(sessionId.array()); |
} |
@@ -568,7 +573,12 @@ public class MediaDrmBridge { |
return; |
} |
- mMediaDrm.removeKeys(sessionId); |
+ try { |
+ // Some implementations don't have removeKeys, crbug/475632 |
+ mMediaDrm.removeKeys(sessionId); |
+ } catch (Exception e) { |
+ Log.e(TAG, "removeKeys failed: ", e); |
+ } |
mMediaDrm.closeSession(sessionId); |
mSessionIds.remove(ByteBuffer.wrap(sessionId)); |
onPromiseResolved(promiseId); |