public final class FrameworkMediaDrm extends Object implements ExoMediaDrm<FrameworkMediaCrypto>
ExoMediaDrm implementation that wraps the framework MediaDrm.ExoMediaDrm.KeyRequest, ExoMediaDrm.OnEventListener<T extends ExoMediaCrypto>, ExoMediaDrm.ProvisionRequest| Constructor and Description |
|---|
FrameworkMediaDrm(UUID uuid) |
| Modifier and Type | Method and Description |
|---|---|
void |
closeSession(byte[] sessionId) |
FrameworkMediaCrypto |
createMediaCrypto(UUID uuid,
byte[] initData) |
ExoMediaDrm.KeyRequest |
getKeyRequest(byte[] scope,
byte[] init,
String mimeType,
int keyType,
HashMap<String,String> optionalParameters) |
byte[] |
getPropertyByteArray(String propertyName) |
String |
getPropertyString(String propertyName) |
ExoMediaDrm.ProvisionRequest |
getProvisionRequest() |
byte[] |
openSession() |
byte[] |
provideKeyResponse(byte[] scope,
byte[] response) |
void |
provideProvisionResponse(byte[] response) |
Map<String,String> |
queryKeyStatus(byte[] sessionId) |
void |
release() |
void |
restoreKeys(byte[] sessionId,
byte[] keySetId) |
void |
setOnEventListener(ExoMediaDrm.OnEventListener<? super FrameworkMediaCrypto> listener) |
void |
setPropertyByteArray(String propertyName,
byte[] value) |
void |
setPropertyString(String propertyName,
String value) |
public FrameworkMediaDrm(UUID uuid) throws UnsupportedSchemeException
UnsupportedSchemeExceptionpublic void setOnEventListener(ExoMediaDrm.OnEventListener<? super FrameworkMediaCrypto> listener)
setOnEventListener in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.setOnEventListener(android.media.MediaDrm.OnEventListener)public byte[] openSession()
throws NotProvisionedException,
ResourceBusyException
openSession in interface ExoMediaDrm<FrameworkMediaCrypto>NotProvisionedExceptionResourceBusyExceptionMediaDrm.openSession()public void closeSession(byte[] sessionId)
closeSession in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.closeSession(byte[])public ExoMediaDrm.KeyRequest getKeyRequest(byte[] scope, byte[] init, String mimeType, int keyType, HashMap<String,String> optionalParameters) throws NotProvisionedException
getKeyRequest in interface ExoMediaDrm<FrameworkMediaCrypto>NotProvisionedExceptionMediaDrm.getKeyRequest(byte[], byte[], String, int, HashMap)public byte[] provideKeyResponse(byte[] scope,
byte[] response)
throws NotProvisionedException,
DeniedByServerException
provideKeyResponse in interface ExoMediaDrm<FrameworkMediaCrypto>NotProvisionedExceptionDeniedByServerExceptionMediaDrm.provideKeyResponse(byte[], byte[])public ExoMediaDrm.ProvisionRequest getProvisionRequest()
getProvisionRequest in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.getProvisionRequest()public void provideProvisionResponse(byte[] response)
throws DeniedByServerException
provideProvisionResponse in interface ExoMediaDrm<FrameworkMediaCrypto>DeniedByServerExceptionMediaDrm.provideProvisionResponse(byte[])public Map<String,String> queryKeyStatus(byte[] sessionId)
queryKeyStatus in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.queryKeyStatus(byte[])public void release()
release in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.release()public void restoreKeys(byte[] sessionId,
byte[] keySetId)
restoreKeys in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.restoreKeys(byte[], byte[])public String getPropertyString(String propertyName)
getPropertyString in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.getPropertyString(String)public byte[] getPropertyByteArray(String propertyName)
getPropertyByteArray in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.getPropertyByteArray(String)public void setPropertyString(String propertyName, String value)
setPropertyString in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.setPropertyString(String, String)public void setPropertyByteArray(String propertyName, byte[] value)
setPropertyByteArray in interface ExoMediaDrm<FrameworkMediaCrypto>MediaDrm.setPropertyByteArray(String, byte[])public FrameworkMediaCrypto createMediaCrypto(UUID uuid, byte[] initData) throws MediaCryptoException
createMediaCrypto in interface ExoMediaDrm<FrameworkMediaCrypto>uuid - The UUID of the crypto scheme.initData - Opaque initialization data specific to the crypto scheme.ExoMediaCrypto, using opaque crypto scheme specific data.MediaCryptoExceptionMediaCrypto.MediaCrypto(UUID, byte[])