From fa803967f238ced4cbd0b1303794065cf1e92284 Mon Sep 17 00:00:00 2001 From: aquilescanta Date: Tue, 24 Sep 2019 20:35:49 +0100 Subject: [PATCH] Remove mediaDrm methods from DefaultDrmSessionManager DrmSessionManagers may now be in released state, in which case they may release their MediaDrm. In that case, it would be invalid to forward method calls to the underlying MediaDrms. Users should instead call these methods directly on the MediaDrm. Issue:#4721 PiperOrigin-RevId: 270963393 --- .../drm/DefaultDrmSessionManager.java | 48 ------------------- .../exoplayer2/drm/OfflineLicenseHelper.java | 28 ----------- .../playbacktests/gts/DashTestRunner.java | 6 +-- 3 files changed, 3 insertions(+), 79 deletions(-) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java index 6c90a3660d..d7324249e0 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/DefaultDrmSessionManager.java @@ -233,54 +233,6 @@ public class DefaultDrmSessionManager eventDispatcher.removeListener(eventListener); } - /** - * Provides access to {@link ExoMediaDrm#getPropertyString(String)}. - * - *

This method may be called when the manager is in any state. - * - * @param key The key to request. - * @return The retrieved property. - */ - public final String getPropertyString(String key) { - return mediaDrm.getPropertyString(key); - } - - /** - * Provides access to {@link ExoMediaDrm#setPropertyString(String, String)}. - * - *

This method may be called when the manager is in any state. - * - * @param key The property to write. - * @param value The value to write. - */ - public final void setPropertyString(String key, String value) { - mediaDrm.setPropertyString(key, value); - } - - /** - * Provides access to {@link ExoMediaDrm#getPropertyByteArray(String)}. - * - *

This method may be called when the manager is in any state. - * - * @param key The key to request. - * @return The retrieved property. - */ - public final byte[] getPropertyByteArray(String key) { - return mediaDrm.getPropertyByteArray(key); - } - - /** - * Provides access to {@link ExoMediaDrm#setPropertyByteArray(String, byte[])}. - * - *

This method may be called when the manager is in any state. - * - * @param key The property to write. - * @param value The value to write. - */ - public final void setPropertyByteArray(String key, byte[] value) { - mediaDrm.setPropertyByteArray(key, value); - } - /** * Sets the mode, which determines the role of sessions acquired from the instance. This must be * called before {@link #acquireSession(Looper, DrmInitData)} or {@link diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java index 03c199bda0..d30b782b30 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/OfflineLicenseHelper.java @@ -152,34 +152,6 @@ public final class OfflineLicenseHelper { drmSessionManager.addListener(new Handler(handlerThread.getLooper()), eventListener); } - /** - * @see DefaultDrmSessionManager#getPropertyByteArray - */ - public synchronized byte[] getPropertyByteArray(String key) { - return drmSessionManager.getPropertyByteArray(key); - } - - /** - * @see DefaultDrmSessionManager#setPropertyByteArray - */ - public synchronized void setPropertyByteArray(String key, byte[] value) { - drmSessionManager.setPropertyByteArray(key, value); - } - - /** - * @see DefaultDrmSessionManager#getPropertyString - */ - public synchronized String getPropertyString(String key) { - return drmSessionManager.getPropertyString(key); - } - - /** - * @see DefaultDrmSessionManager#setPropertyString - */ - public synchronized void setPropertyString(String key, String value) { - drmSessionManager.setPropertyString(key, value); - } - /** * Downloads an offline license. * diff --git a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java index fb64a7d13b..052cd7d0a2 100644 --- a/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java +++ b/playbacktests/src/androidTest/java/com/google/android/exoplayer2/playbacktests/gts/DashTestRunner.java @@ -266,17 +266,17 @@ public final class DashTestRunner { try { MediaDrmCallback drmCallback = new HttpMediaDrmCallback(widevineLicenseUrl, new DefaultHttpDataSourceFactory(userAgent)); + FrameworkMediaDrm frameworkMediaDrm = FrameworkMediaDrm.newInstance(WIDEVINE_UUID); DefaultDrmSessionManager drmSessionManager = new DefaultDrmSessionManager<>( C.WIDEVINE_UUID, - FrameworkMediaDrm.newInstance(C.WIDEVINE_UUID), + frameworkMediaDrm, drmCallback, /* optionalKeyRequestParameters= */ null, /* multiSession= */ false, DefaultDrmSessionManager.INITIAL_DRM_REQUEST_RETRY_COUNT); if (!useL1Widevine) { - drmSessionManager.setPropertyString( - SECURITY_LEVEL_PROPERTY, WIDEVINE_SECURITY_LEVEL_3); + frameworkMediaDrm.setPropertyString(SECURITY_LEVEL_PROPERTY, WIDEVINE_SECURITY_LEVEL_3); } if (offlineLicenseKeySetId != null) { drmSessionManager.setMode(DefaultDrmSessionManager.MODE_PLAYBACK,