diff --git a/library/core/src/main/java/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.java b/library/core/src/main/java/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.java index 5fef8b34be..f08d9b59b5 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/drm/HttpMediaDrmCallback.java @@ -39,29 +39,29 @@ import java.util.UUID; public final class HttpMediaDrmCallback implements MediaDrmCallback { private final HttpDataSource.Factory dataSourceFactory; - private final String defaultLicenseUrl; - private final boolean forceDefaultLicenseUrl; + private final String defaultUrl; private final Map keyRequestProperties; /** - * @param defaultLicenseUrl The default license URL. + * @param defaultUrl The default license URL. * @param dataSourceFactory A factory from which to obtain {@link HttpDataSource} instances. */ - public HttpMediaDrmCallback(String defaultLicenseUrl, HttpDataSource.Factory dataSourceFactory) { - this(defaultLicenseUrl, false, dataSourceFactory, null); + public HttpMediaDrmCallback(String defaultUrl, HttpDataSource.Factory dataSourceFactory) { + this(defaultUrl, dataSourceFactory, null); } /** - * @param defaultLicenseUrl The default license URL. - * @param forceDefaultLicenseUrl Whether to force use of {@code defaultLicenseUrl} even for key - * requests that include their own license URL. + * @deprecated Use {@link HttpMediaDrmCallback#HttpMediaDrmCallback(String, Factory)}. Request + * properties can be set by calling {@link #setKeyRequestProperty(String, String)}. + * @param defaultUrl The default license URL. * @param dataSourceFactory A factory from which to obtain {@link HttpDataSource} instances. + * @param keyRequestProperties Request properties to set when making key requests, or null. */ - public HttpMediaDrmCallback(String defaultLicenseUrl, boolean forceDefaultLicenseUrl, - HttpDataSource.Factory dataSourceFactory, Map keyRequestProperties) { + @Deprecated + public HttpMediaDrmCallback(String defaultUrl, HttpDataSource.Factory dataSourceFactory, + Map keyRequestProperties) { this.dataSourceFactory = dataSourceFactory; - this.defaultLicenseUrl = defaultLicenseUrl; - this.forceDefaultLicenseUrl = forceDefaultLicenseUrl; + this.defaultUrl = defaultUrl; this.keyRequestProperties = new HashMap<>(); if (keyRequestProperties != null) { this.keyRequestProperties.putAll(keyRequestProperties); @@ -112,8 +112,8 @@ public final class HttpMediaDrmCallback implements MediaDrmCallback { @Override public byte[] executeKeyRequest(UUID uuid, KeyRequest request) throws Exception { String url = request.getDefaultUrl(); - if (forceDefaultLicenseUrl || TextUtils.isEmpty(url)) { - url = defaultLicenseUrl; + if (TextUtils.isEmpty(url)) { + url = defaultUrl; } Map requestProperties = new HashMap<>(); // Add standard request properties for supported schemes. 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 5ae06b7691..2eb3463b3d 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 @@ -43,44 +43,23 @@ public final class OfflineLicenseHelper { * Instantiates a new instance which uses Widevine CDM. Call {@link #release()} when the instance * is no longer required. * - * @param defaultLicenseUrl The default license URL. + * @param licenseUrl The default license URL. * @param httpDataSourceFactory A factory from which to obtain {@link HttpDataSource} instances. * @return A new instance which uses Widevine CDM. * @throws UnsupportedDrmException If the Widevine DRM scheme is unsupported or cannot be * instantiated. */ public static OfflineLicenseHelper newWidevineInstance( - String defaultLicenseUrl, Factory httpDataSourceFactory) - throws UnsupportedDrmException { - return newWidevineInstance(defaultLicenseUrl, false, httpDataSourceFactory, null); + String licenseUrl, Factory httpDataSourceFactory) throws UnsupportedDrmException { + return newWidevineInstance( + new HttpMediaDrmCallback(licenseUrl, httpDataSourceFactory), null); } /** * Instantiates a new instance which uses Widevine CDM. Call {@link #release()} when the instance * is no longer required. * - * @param defaultLicenseUrl The default license URL. - * @param forceDefaultLicenseUrl Whether to force use of {@code defaultLicenseUrl} even for key - * requests that include their own license URL. - * @param httpDataSourceFactory A factory from which to obtain {@link HttpDataSource} instances. - * @return A new instance which uses Widevine CDM. - * @throws UnsupportedDrmException If the Widevine DRM scheme is unsupported or cannot be - * instantiated. - */ - public static OfflineLicenseHelper newWidevineInstance( - String defaultLicenseUrl, boolean forceDefaultLicenseUrl, Factory httpDataSourceFactory) - throws UnsupportedDrmException { - return newWidevineInstance(defaultLicenseUrl, forceDefaultLicenseUrl, httpDataSourceFactory, - null); - } - - /** - * Instantiates a new instance which uses Widevine CDM. Call {@link #release()} when the instance - * is no longer required. - * - * @param defaultLicenseUrl The default license URL. - * @param forceDefaultLicenseUrl Whether to force use of {@code defaultLicenseUrl} even for key - * requests that include their own license URL. + * @param callback Performs key and provisioning requests. * @param optionalKeyRequestParameters An optional map of parameters to pass as the last argument * to {@link MediaDrm#getKeyRequest(byte[], byte[], String, int, HashMap)}. May be null. * @return A new instance which uses Widevine CDM. @@ -90,12 +69,10 @@ public final class OfflineLicenseHelper { * MediaDrmCallback, HashMap, Handler, EventListener) */ public static OfflineLicenseHelper newWidevineInstance( - String defaultLicenseUrl, boolean forceDefaultLicenseUrl, Factory httpDataSourceFactory, - HashMap optionalKeyRequestParameters) + MediaDrmCallback callback, HashMap optionalKeyRequestParameters) throws UnsupportedDrmException { - return new OfflineLicenseHelper<>(FrameworkMediaDrm.newInstance(C.WIDEVINE_UUID), - new HttpMediaDrmCallback(defaultLicenseUrl, forceDefaultLicenseUrl, httpDataSourceFactory, - null), optionalKeyRequestParameters); + return new OfflineLicenseHelper<>(FrameworkMediaDrm.newInstance(C.WIDEVINE_UUID), callback, + optionalKeyRequestParameters); } /**