| 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);
|
|
|