Call prepare and release from MediaSources

Issue:#4721
PiperOrigin-RevId: 270342454
This commit is contained in:
aquilescanta 2019-09-20 21:50:11 +01:00 committed by Oliver Woodman
parent 7fc9c848c6
commit 18b9304f25
4 changed files with 8 additions and 1 deletions

View File

@ -252,6 +252,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
@Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
transferListener = mediaTransferListener;
drmSessionManager.prepare();
notifySourceInfoRefreshed(timelineDurationUs, timelineIsSeekable);
}
@ -286,7 +287,7 @@ public final class ProgressiveMediaSource extends BaseMediaSource
@Override
protected void releaseSourceInternal() {
// Do nothing.
drmSessionManager.release();
}
// ProgressiveMediaPeriod.Listener implementation.

View File

@ -657,6 +657,7 @@ public final class DashMediaSource extends BaseMediaSource {
@Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
this.mediaTransferListener = mediaTransferListener;
drmSessionManager.prepare();
if (sideloadedManifest) {
processManifest(false);
} else {
@ -726,6 +727,7 @@ public final class DashMediaSource extends BaseMediaSource {
expiredManifestPublishTimeUs = C.TIME_UNSET;
firstPeriodId = 0;
periodsById.clear();
drmSessionManager.release();
}
// PlayerEmsgCallback callbacks.

View File

@ -357,6 +357,7 @@ public final class HlsMediaSource extends BaseMediaSource
@Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
this.mediaTransferListener = mediaTransferListener;
drmSessionManager.prepare();
EventDispatcher eventDispatcher = createEventDispatcher(/* mediaPeriodId= */ null);
playlistTracker.start(manifestUri, eventDispatcher, /* listener= */ this);
}
@ -391,6 +392,7 @@ public final class HlsMediaSource extends BaseMediaSource
@Override
protected void releaseSourceInternal() {
playlistTracker.stop();
drmSessionManager.release();
}
@Override

View File

@ -552,6 +552,7 @@ public final class SsMediaSource extends BaseMediaSource
@Override
protected void prepareSourceInternal(@Nullable TransferListener mediaTransferListener) {
this.mediaTransferListener = mediaTransferListener;
drmSessionManager.prepare();
if (sideloadedManifest) {
manifestLoaderErrorThrower = new LoaderErrorThrower.Dummy();
processManifest();
@ -606,6 +607,7 @@ public final class SsMediaSource extends BaseMediaSource
manifestRefreshHandler.removeCallbacksAndMessages(null);
manifestRefreshHandler = null;
}
drmSessionManager.release();
}
// Loader.Callback implementation