Release StreamManager before calling AdsLoader.destroy()

PiperOrigin-RevId: 561678438
This commit is contained in:
Googler 2023-08-31 09:35:02 -07:00 committed by Copybara-Service
parent 56acb3ee21
commit 4c3ad641c0
2 changed files with 2 additions and 1 deletions

View File

@ -33,6 +33,7 @@
* Fix bug where a multi-period DASH live stream that is not the first item * Fix bug where a multi-period DASH live stream that is not the first item
in a playlist can throw an exception in a playlist can throw an exception
([#571](https://github.com/androidx/media/issues/571)). ([#571](https://github.com/androidx/media/issues/571)).
* Release StreamManager before calling `AdsLoader.destroy()`
* Session: * Session:
* Set the notifications foreground service behavior to * Set the notifications foreground service behavior to
`FOREGROUND_SERVICE_IMMEDIATE` in `DefaultMediaNotificationProvider` `FOREGROUND_SERVICE_IMMEDIATE` in `DefaultMediaNotificationProvider`

View File

@ -453,9 +453,9 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
public State release() { public State release() {
for (MediaSourceResourceHolder resourceHolder : mediaSourceResources.values()) { for (MediaSourceResourceHolder resourceHolder : mediaSourceResources.values()) {
resourceHolder.streamPlayer.release(); resourceHolder.streamPlayer.release();
resourceHolder.adsLoader.release();
resourceHolder.imaServerSideAdInsertionMediaSource.setStreamManager( resourceHolder.imaServerSideAdInsertionMediaSource.setStreamManager(
/* streamManager= */ null); /* streamManager= */ null);
resourceHolder.adsLoader.release();
} }
State state = new State(ImmutableMap.copyOf(adPlaybackStateMap)); State state = new State(ImmutableMap.copyOf(adPlaybackStateMap));
adPlaybackStateMap.clear(); adPlaybackStateMap.clear();