Java 类android.media.MediaDrmException 实例源码

项目:no-player    文件:LocalDrmSessionManagerTest.java   
@Before
public void setUp() throws MediaDrmException, MediaCryptoException {
    frameworkMediaCrypto = FrameworkMediaCryptoFixture.aFrameworkMediaCrypto().build();
    given(mediaDrm.openSession()).willReturn(SESSION_ID.asBytes());

    localDrmSessionManager = new LocalDrmSessionManager(
            KEY_SET_ID_TO_RESTORE,
            mediaDrm,
            DRM_SCHEME,
            handler,
            eventListener
    );
}
项目:no-player    文件:LocalDrmSessionManagerTest.java   
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Test
public void givenOpeningSessionError_whenAcquiringSession_thenNotifiesErrorEventListenerOnHandler() throws MediaDrmException {
    given(mediaDrm.openSession()).willThrow(new ResourceBusyException("resource is busy"));

    localDrmSessionManager.acquireSession(IGNORED_LOOPER, IGNORED_DRM_DATA);

    ArgumentCaptor<Runnable> argumentCaptor = ArgumentCaptor.forClass(Runnable.class);
    verify(handler).post(argumentCaptor.capture());
    argumentCaptor.getValue().run();
    verify(eventListener).onDrmSessionManagerError(any(DrmSession.DrmSessionException.class));
}
项目:no-player    文件:LocalDrmSessionManagerTest.java   
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Test
public void givenOpeningSessionError_whenAcquiringSession_thenReturnsInvalidDrmSession() throws MediaDrmException {
    ResourceBusyException resourceBusyException = new ResourceBusyException("resource is busy");
    given(mediaDrm.openSession()).willThrow(resourceBusyException);

    DrmSession<FrameworkMediaCrypto> drmSession = localDrmSessionManager.acquireSession(IGNORED_LOOPER, IGNORED_DRM_DATA);

    assertThat(drmSession).isInstanceOf(InvalidDrmSession.class);
    assertThat(drmSession.getError().getCause()).isEqualTo(resourceBusyException);
}
项目:transistor    文件:FrameworkMediaDrm.java   
@Override
public byte[] openSession() throws MediaDrmException {
  return mediaDrm.openSession();
}
项目:player-sdk-native-android    文件:MediaDrmSession.java   
static MediaDrmSession open(@NonNull MediaDrm mediaDrm) throws MediaDrmException {
    MediaDrmSession session = new MediaDrmSession(mediaDrm);
    session.mSessionId = mediaDrm.openSession();
    return session;
}
项目:player-sdk-native-android    文件:OfflineDrmManager.java   
static MediaDrmSession openSessionWithKeys(MediaDrm mediaDrm, OfflineKeySetStorage storage, byte[] initData) throws MediaDrmException, MediaCryptoException, FileNotFoundException {

        byte[] keySetId = storage.loadKeySetId(initData);

        MediaDrmSession session = MediaDrmSession.open(mediaDrm);
        session.restoreKeys(keySetId);

        Map<String, String> keyStatus = session.queryKeyStatus();
        Log.d(TAG, "keyStatus: " + keyStatus);

        return session;
    }
项目:transistor    文件:ExoMediaDrm.java   
/**
 * @see MediaDrm#openSession()
 */
byte[] openSession() throws MediaDrmException;