Commit 0bbc2837 by bachinger Committed by Ian Baker

Clear ad playback state map when AdsLoader is released

#minor-release

PiperOrigin-RevId: 429067634
parent 9ea6be21
...@@ -291,7 +291,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou ...@@ -291,7 +291,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
} }
} }
/** The state of the {@link AdsLoader}. */ /** The state of the {@link AdsLoader} that can be used when resuming from the background. */
public static class State implements Bundleable { public static class State implements Bundleable {
private final ImmutableMap<String, AdPlaybackState> adPlaybackStates; private final ImmutableMap<String, AdPlaybackState> adPlaybackStates;
...@@ -387,7 +387,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou ...@@ -387,7 +387,7 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
/** /**
* Releases resources. * Releases resources.
* *
* @return The {@link State} that can be used to resume with. * @return The {@link State} that can be used when resuming from the background.
*/ */
public State release() { public State release() {
for (MediaSourceResourceHolder resourceHolder : mediaSourceResources.values()) { for (MediaSourceResourceHolder resourceHolder : mediaSourceResources.values()) {
...@@ -396,9 +396,11 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou ...@@ -396,9 +396,11 @@ public final class ImaServerSideAdInsertionMediaSource extends CompositeMediaSou
resourceHolder.imaServerSideAdInsertionMediaSource.setStreamManager( resourceHolder.imaServerSideAdInsertionMediaSource.setStreamManager(
/* streamManager= */ null); /* streamManager= */ null);
} }
State state = new State(ImmutableMap.copyOf(adPlaybackStateMap));
adPlaybackStateMap.clear();
mediaSourceResources.clear(); mediaSourceResources.clear();
player = null; player = null;
return new State(ImmutableMap.copyOf(adPlaybackStateMap)); return state;
} }
// Internal methods. // Internal methods.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment