mirror of
https://github.com/samsonjs/media.git
synced 2026-04-01 10:35:48 +00:00
Ensure DrmSessionManager.setPlayer() is called before prepare()
`prepare()` now logs a warning if it's called before `setPlayer()` because it's not possible to tell if it's being called on the wrong thread (since3480a27994). This change finds all the places one is called immediately after the other and flips the order to be more correct. Issue: androidx/media#350 #minor-release PiperOrigin-RevId: 526582294 (cherry picked from commit6aacbc6bbb)
This commit is contained in:
parent
3f5d777f38
commit
20924724fc
6 changed files with 26 additions and 26 deletions
|
|
@ -278,9 +278,9 @@ public final class ProgressiveMediaSource extends BaseMediaSource
|
|||
@Override
|
||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
transferListener = mediaTransferListener;
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(
|
||||
/* playbackLooper= */ checkNotNull(Looper.myLooper()), getPlayerId());
|
||||
drmSessionManager.prepare();
|
||||
notifySourceInfoRefreshed();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
new DefaultDrmSessionManager.Builder()
|
||||
.setUuidAndExoMediaDrmProvider(DRM_SCHEME_UUID, uuid -> new FakeExoMediaDrm())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -91,8 +91,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(10_000)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -116,8 +116,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -138,8 +138,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(10_000)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -162,8 +162,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -188,8 +188,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(10_000)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -233,8 +233,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(10_000)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -272,8 +272,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setMultiSession(true)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession firstDrmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -313,8 +313,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setMultiSession(true)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSessionReference firstDrmSessionReference =
|
||||
checkNotNull(
|
||||
drmSessionManager.preacquireSession(
|
||||
|
|
@ -358,8 +358,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(10_000)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession firstDrmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -405,8 +405,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
|
||||
DrmSessionReference sessionReference =
|
||||
drmSessionManager.preacquireSession(eventDispatcher, FORMAT_WITH_DRM_INIT_DATA);
|
||||
|
|
@ -450,8 +450,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
|
||||
DrmSessionReference sessionReference =
|
||||
drmSessionManager.preacquireSession(/* eventDispatcher= */ null, FORMAT_WITH_DRM_INIT_DATA);
|
||||
|
|
@ -486,8 +486,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
|
||||
DrmSessionReference sessionReference =
|
||||
drmSessionManager.preacquireSession(/* eventDispatcher= */ null, FORMAT_WITH_DRM_INIT_DATA);
|
||||
|
|
@ -530,8 +530,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setUuidAndExoMediaDrmProvider(DRM_SCHEME_UUID, new AppManagedProvider(exoMediaDrm))
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
|
||||
DefaultDrmSession drmSession =
|
||||
(DefaultDrmSession)
|
||||
|
|
@ -571,8 +571,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setUuidAndExoMediaDrmProvider(DRM_SCHEME_UUID, new AppManagedProvider(exoMediaDrm))
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
|
||||
DefaultDrmSession drmSession =
|
||||
(DefaultDrmSession)
|
||||
|
|
@ -615,8 +615,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
DRM_SCHEME_UUID,
|
||||
uuid -> new FakeExoMediaDrm.Builder().setProvisionsRequired(1).build())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -648,8 +648,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.throwNotProvisionedExceptionFromGetKeyRequest()
|
||||
.build())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -674,8 +674,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
DRM_SCHEME_UUID,
|
||||
uuid -> new FakeExoMediaDrm.Builder().setProvisionsRequired(2).build())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -702,8 +702,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setUuidAndExoMediaDrmProvider(
|
||||
DRM_SCHEME_UUID, uuid -> new FakeExoMediaDrm.Builder().build())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -728,8 +728,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setUuidAndExoMediaDrmProvider(DRM_SCHEME_UUID, new AppManagedProvider(mediaDrm))
|
||||
.setSessionKeepaliveMs(C.TIME_UNSET)
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
@ -783,8 +783,8 @@ public class DefaultDrmSessionManagerTest {
|
|||
.setUuidAndExoMediaDrmProvider(DRM_SCHEME_UUID, uuid -> new FakeExoMediaDrm())
|
||||
.build(/* mediaDrmCallback= */ licenseServer);
|
||||
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), PlayerId.UNSET);
|
||||
drmSessionManager.prepare();
|
||||
DrmSession drmSession =
|
||||
checkNotNull(
|
||||
drmSessionManager.acquireSession(
|
||||
|
|
|
|||
|
|
@ -449,8 +449,8 @@ public final class DashMediaSource extends BaseMediaSource {
|
|||
@Override
|
||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
this.mediaTransferListener = mediaTransferListener;
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), getPlayerId());
|
||||
drmSessionManager.prepare();
|
||||
if (sideloadedManifest) {
|
||||
processManifest(false);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -417,9 +417,9 @@ public final class HlsMediaSource extends BaseMediaSource
|
|||
@Override
|
||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
this.mediaTransferListener = mediaTransferListener;
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(
|
||||
/* playbackLooper= */ checkNotNull(Looper.myLooper()), getPlayerId());
|
||||
drmSessionManager.prepare();
|
||||
MediaSourceEventListener.EventDispatcher eventDispatcher =
|
||||
createEventDispatcher(/* mediaPeriodId= */ null);
|
||||
playlistTracker.start(
|
||||
|
|
|
|||
|
|
@ -374,8 +374,8 @@ public final class SsMediaSource extends BaseMediaSource
|
|||
@Override
|
||||
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
this.mediaTransferListener = mediaTransferListener;
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(/* playbackLooper= */ Looper.myLooper(), getPlayerId());
|
||||
drmSessionManager.prepare();
|
||||
if (sideloadedManifest) {
|
||||
manifestLoaderErrorThrower = new LoaderErrorThrower.Dummy();
|
||||
processManifest();
|
||||
|
|
|
|||
|
|
@ -215,9 +215,9 @@ public class FakeMediaSource extends BaseMediaSource {
|
|||
public synchronized void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
|
||||
assertThat(preparedSource).isFalse();
|
||||
transferListener = mediaTransferListener;
|
||||
drmSessionManager.prepare();
|
||||
drmSessionManager.setPlayer(
|
||||
/* playbackLooper= */ checkNotNull(Looper.myLooper()), getPlayerId());
|
||||
drmSessionManager.prepare();
|
||||
preparedSource = true;
|
||||
releasedSource = false;
|
||||
sourceInfoRefreshHandler = Util.createHandlerForCurrentLooper();
|
||||
|
|
|
|||
Loading…
Reference in a new issue