Class DummyExoMediaDrm
- java.lang.Object
-
- com.google.android.exoplayer2.drm.DummyExoMediaDrm
-
- All Implemented Interfaces:
ExoMediaDrm
@RequiresApi(18) @Deprecated public final class DummyExoMediaDrm extends Object implements ExoMediaDrm
Deprecated.com.google.android.exoplayer2 is deprecated. Please migrate to androidx.media3 (which contains the same ExoPlayer code). See the migration guide for more details, including a script to help with the migration.AnExoMediaDrmthat does not support any protection schemes.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.android.exoplayer2.drm.ExoMediaDrm
ExoMediaDrm.AppManagedProvider, ExoMediaDrm.KeyRequest, ExoMediaDrm.KeyStatus, ExoMediaDrm.OnEventListener, ExoMediaDrm.OnExpirationUpdateListener, ExoMediaDrm.OnKeyStatusChangeListener, ExoMediaDrm.Provider, ExoMediaDrm.ProvisionRequest
-
-
Field Summary
-
Fields inherited from interface com.google.android.exoplayer2.drm.ExoMediaDrm
EVENT_KEY_EXPIRED, EVENT_KEY_REQUIRED, EVENT_PROVISION_REQUIRED, KEY_TYPE_OFFLINE, KEY_TYPE_RELEASE, KEY_TYPE_STREAMING
-
-
Constructor Summary
Constructors Constructor Description DummyExoMediaDrm()Deprecated.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidacquire()Deprecated.Increments the reference count.voidcloseSession(byte[] sessionId)Deprecated.Closes a DRM session.CryptoConfigcreateCryptoConfig(byte[] sessionId)Deprecated.Creates aCryptoConfigthat can be passed to a compatible decoder to allow decryption of protected content using the specified session.@com.google.android.exoplayer2.C.CryptoType intgetCryptoType()Deprecated.static DummyExoMediaDrmgetInstance()Deprecated.Returns a new instance.ExoMediaDrm.KeyRequestgetKeyRequest(byte[] scope, List<DrmInitData.SchemeData> schemeDatas, int keyType, HashMap<String,String> optionalParameters)Deprecated.Generates a key request.PersistableBundlegetMetrics()Deprecated.Returns metrics data for this ExoMediaDrm instance, ornullif metrics are unavailable.byte[]getPropertyByteArray(String propertyName)Deprecated.Returns the value of a byte array property.StringgetPropertyString(String propertyName)Deprecated.Returns the value of a string property.ExoMediaDrm.ProvisionRequestgetProvisionRequest()Deprecated.Generates a provisioning request.byte[]openSession()Deprecated.Opens a new DRM session.byte[]provideKeyResponse(byte[] scope, byte[] response)Deprecated.Provides a key response for the last request to be generated usingExoMediaDrm.getKeyRequest(byte[], java.util.List<com.google.android.exoplayer2.drm.DrmInitData.SchemeData>, int, java.util.HashMap<java.lang.String, java.lang.String>).voidprovideProvisionResponse(byte[] response)Deprecated.Provides a provisioning response for the last request to be generated usingExoMediaDrm.getProvisionRequest().Map<String,String>queryKeyStatus(byte[] sessionId)Deprecated.Returns the key status for a given session, as {name, value} pairs.voidrelease()Deprecated.Decrements the reference count.booleanrequiresSecureDecoder(byte[] sessionId, String mimeType)Deprecated.Returns whether the given session requires use of a secure decoder for the given MIME type.voidrestoreKeys(byte[] sessionId, byte[] keySetId)Deprecated.Restores persisted offline keys into a session.voidsetOnEventListener(ExoMediaDrm.OnEventListener listener)Deprecated.Sets the listener for DRM events.voidsetOnExpirationUpdateListener(ExoMediaDrm.OnExpirationUpdateListener listener)Deprecated.Sets the listener for session expiration events.voidsetOnKeyStatusChangeListener(ExoMediaDrm.OnKeyStatusChangeListener listener)Deprecated.Sets the listener for key status change events.voidsetPropertyByteArray(String propertyName, byte[] value)Deprecated.Sets the value of a byte array property.voidsetPropertyString(String propertyName, String value)Deprecated.Sets the value of a string property.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.android.exoplayer2.drm.ExoMediaDrm
setPlayerIdForSession
-
-
-
-
Method Detail
-
getInstance
public static DummyExoMediaDrm getInstance()
Deprecated.Returns a new instance.
-
setOnEventListener
public void setOnEventListener(@Nullable ExoMediaDrm.OnEventListener listener)Deprecated.Description copied from interface:ExoMediaDrmSets the listener for DRM events.This is an optional method, and some implementations may only support it on certain Android API levels.
- Specified by:
setOnEventListenerin interfaceExoMediaDrm- Parameters:
listener- The listener to receive events, ornullto stop receiving events.- See Also:
MediaDrm.setOnEventListener(MediaDrm.OnEventListener)
-
setOnKeyStatusChangeListener
public void setOnKeyStatusChangeListener(@Nullable ExoMediaDrm.OnKeyStatusChangeListener listener)Deprecated.Description copied from interface:ExoMediaDrmSets the listener for key status change events.This is an optional method, and some implementations may only support it on certain Android API levels.
- Specified by:
setOnKeyStatusChangeListenerin interfaceExoMediaDrm- Parameters:
listener- The listener to receive events, ornullto stop receiving events.- See Also:
MediaDrm.setOnKeyStatusChangeListener(MediaDrm.OnKeyStatusChangeListener, Handler)
-
setOnExpirationUpdateListener
public void setOnExpirationUpdateListener(@Nullable ExoMediaDrm.OnExpirationUpdateListener listener)Deprecated.Description copied from interface:ExoMediaDrmSets the listener for session expiration events.This is an optional method, and some implementations may only support it on certain Android API levels.
- Specified by:
setOnExpirationUpdateListenerin interfaceExoMediaDrm- Parameters:
listener- The listener to receive events, ornullto stop receiving events.- See Also:
MediaDrm.setOnExpirationUpdateListener(MediaDrm.OnExpirationUpdateListener, Handler)
-
openSession
public byte[] openSession() throws MediaDrmExceptionDeprecated.Description copied from interface:ExoMediaDrmOpens a new DRM session. A session ID is returned.- Specified by:
openSessionin interfaceExoMediaDrm- Returns:
- The session ID.
- Throws:
NotProvisionedException- If provisioning is needed.ResourceBusyException- If required resources are in use.MediaDrmException- If the session could not be opened.
-
closeSession
public void closeSession(byte[] sessionId)
Deprecated.Description copied from interface:ExoMediaDrmCloses a DRM session.- Specified by:
closeSessionin interfaceExoMediaDrm- Parameters:
sessionId- The ID of the session to close.
-
getKeyRequest
public ExoMediaDrm.KeyRequest getKeyRequest(byte[] scope, @Nullable List<DrmInitData.SchemeData> schemeDatas, int keyType, @Nullable HashMap<String,String> optionalParameters)
Deprecated.Description copied from interface:ExoMediaDrmGenerates a key request.- Specified by:
getKeyRequestin interfaceExoMediaDrm- Parameters:
scope- IfkeyTypeisExoMediaDrm.KEY_TYPE_STREAMINGorExoMediaDrm.KEY_TYPE_OFFLINE, the ID of the session that the keys will be provided to. IfkeyTypeisExoMediaDrm.KEY_TYPE_RELEASE, thekeySetIdof the keys to release.schemeDatas- If key type isExoMediaDrm.KEY_TYPE_STREAMINGorExoMediaDrm.KEY_TYPE_OFFLINE, a list ofDrmInitData.SchemeDatainstances extracted from the media. Null otherwise.keyType- The type of the request. EitherExoMediaDrm.KEY_TYPE_STREAMINGto acquire keys for streaming,ExoMediaDrm.KEY_TYPE_OFFLINEto acquire keys for offline usage, orExoMediaDrm.KEY_TYPE_RELEASEto release acquired keys. Releasing keys invalidates them for all sessions.optionalParameters- Are included in the key request message to allow a client application to provide additional message parameters to the server. This may benullif no additional parameters are to be sent.- Returns:
- The generated key request.
- See Also:
MediaDrm.getKeyRequest(byte[], byte[], String, int, HashMap)
-
provideKeyResponse
@Nullable public byte[] provideKeyResponse(byte[] scope, byte[] response)Deprecated.Description copied from interface:ExoMediaDrmProvides a key response for the last request to be generated usingExoMediaDrm.getKeyRequest(byte[], java.util.List<com.google.android.exoplayer2.drm.DrmInitData.SchemeData>, int, java.util.HashMap<java.lang.String, java.lang.String>).- Specified by:
provideKeyResponsein interfaceExoMediaDrm- Parameters:
scope- If the request had typeExoMediaDrm.KEY_TYPE_STREAMINGorExoMediaDrm.KEY_TYPE_OFFLINE, the ID of the session to provide the keys to. IfkeyTypeisExoMediaDrm.KEY_TYPE_RELEASE, thekeySetIdof the keys being released.response- The response data from the server.- Returns:
- If the request had type
ExoMediaDrm.KEY_TYPE_OFFLINE, thekeySetIdfor the offline keys. An empty byte array ornullmay be returned for other cases.
-
getProvisionRequest
public ExoMediaDrm.ProvisionRequest getProvisionRequest()
Deprecated.Description copied from interface:ExoMediaDrmGenerates a provisioning request.- Specified by:
getProvisionRequestin interfaceExoMediaDrm- Returns:
- The generated provisioning request.
-
provideProvisionResponse
public void provideProvisionResponse(byte[] response)
Deprecated.Description copied from interface:ExoMediaDrmProvides a provisioning response for the last request to be generated usingExoMediaDrm.getProvisionRequest().- Specified by:
provideProvisionResponsein interfaceExoMediaDrm- Parameters:
response- The response data from the server.
-
queryKeyStatus
public Map<String,String> queryKeyStatus(byte[] sessionId)
Deprecated.Description copied from interface:ExoMediaDrmReturns the key status for a given session, as {name, value} pairs. Since DRM license policies vary by vendor, the returned entries depend on the DRM plugin being used. Refer to your DRM provider's documentation for more information.- Specified by:
queryKeyStatusin interfaceExoMediaDrm- Parameters:
sessionId- The ID of the session being queried.- Returns:
- The key status for the session.
-
requiresSecureDecoder
public boolean requiresSecureDecoder(byte[] sessionId, String mimeType)Deprecated.Description copied from interface:ExoMediaDrmReturns whether the given session requires use of a secure decoder for the given MIME type. Assumes a license policy that requires the highest level of security supported by the session.- Specified by:
requiresSecureDecoderin interfaceExoMediaDrm- Parameters:
sessionId- The ID of the session.mimeType- The content MIME type to query.
-
acquire
public void acquire()
Deprecated.Description copied from interface:ExoMediaDrmIncrements the reference count. When the caller no longer needs to use the instance, it must callExoMediaDrm.release()to decrement the reference count.A new instance will have an initial reference count of 1, and therefore it is not normally necessary for application code to call this method.
- Specified by:
acquirein interfaceExoMediaDrm
-
release
public void release()
Deprecated.Description copied from interface:ExoMediaDrmDecrements the reference count. If the reference count drops to 0 underlying resources are released, and the instance cannot be re-used.- Specified by:
releasein interfaceExoMediaDrm
-
restoreKeys
public void restoreKeys(byte[] sessionId, byte[] keySetId)Deprecated.Description copied from interface:ExoMediaDrmRestores persisted offline keys into a session.- Specified by:
restoreKeysin interfaceExoMediaDrm- Parameters:
sessionId- The ID of the session into which the keys will be restored.keySetId- ThekeySetIdof the keys to restore, as provided by the call toExoMediaDrm.provideKeyResponse(byte[], byte[])that persisted them.
-
getMetrics
@Nullable public PersistableBundle getMetrics()
Deprecated.Description copied from interface:ExoMediaDrmReturns metrics data for this ExoMediaDrm instance, ornullif metrics are unavailable.- Specified by:
getMetricsin interfaceExoMediaDrm
-
getPropertyString
public String getPropertyString(String propertyName)
Deprecated.Description copied from interface:ExoMediaDrmReturns the value of a string property. For standard property names, seeMediaDrm.getPropertyString(java.lang.String).- Specified by:
getPropertyStringin interfaceExoMediaDrm- Parameters:
propertyName- The property name.- Returns:
- The property value.
-
getPropertyByteArray
public byte[] getPropertyByteArray(String propertyName)
Deprecated.Description copied from interface:ExoMediaDrmReturns the value of a byte array property. For standard property names, seeMediaDrm.getPropertyByteArray(java.lang.String).- Specified by:
getPropertyByteArrayin interfaceExoMediaDrm- Parameters:
propertyName- The property name.- Returns:
- The property value.
-
setPropertyString
public void setPropertyString(String propertyName, String value)
Deprecated.Description copied from interface:ExoMediaDrmSets the value of a string property.- Specified by:
setPropertyStringin interfaceExoMediaDrm- Parameters:
propertyName- The property name.value- The value.
-
setPropertyByteArray
public void setPropertyByteArray(String propertyName, byte[] value)
Deprecated.Description copied from interface:ExoMediaDrmSets the value of a byte array property.- Specified by:
setPropertyByteArrayin interfaceExoMediaDrm- Parameters:
propertyName- The property name.value- The value.
-
createCryptoConfig
public CryptoConfig createCryptoConfig(byte[] sessionId)
Deprecated.Description copied from interface:ExoMediaDrmCreates aCryptoConfigthat can be passed to a compatible decoder to allow decryption of protected content using the specified session.- Specified by:
createCryptoConfigin interfaceExoMediaDrm- Parameters:
sessionId- The ID of the session.- Returns:
- A
CryptoConfigfor the given session.
-
getCryptoType
public @com.google.android.exoplayer2.C.CryptoType int getCryptoType()
Deprecated.Description copied from interface:ExoMediaDrm- Specified by:
getCryptoTypein interfaceExoMediaDrm
-
-