From 865e0148779f277b99ffa217362cb46343f16966 Mon Sep 17 00:00:00 2001 From: olly Date: Mon, 13 Jan 2020 12:29:10 +0000 Subject: [PATCH] PlayerTrackEmsgHandler: Release sample queue in release() This change makes it clear the SampleQueue doesn't outlive the wrapping PlayerTrackEmsgHandler, and releases it from PlayerTrackEmsgHandler.release(). This change is a no-op because calling release() is the same as reset() in this case (the behavior only differs if a non-dummy DrmSessionManager is being used). PiperOrigin-RevId: 289416622 --- .../exoplayer2/source/dash/PlayerEmsgHandler.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java index ab7eb18e0d..3b52e070a6 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/PlayerEmsgHandler.java @@ -196,8 +196,7 @@ public final class PlayerEmsgHandler implements Handler.Callback { /** Returns a {@link TrackOutput} that emsg messages could be written to. */ public PlayerTrackEmsgHandler newPlayerTrackEmsgHandler() { - return new PlayerTrackEmsgHandler( - new SampleQueue(allocator, DrmSessionManager.getDummyDrmSessionManager())); + return new PlayerTrackEmsgHandler(allocator); } /** Release this emsg handler. It should not be reused after this call. */ @@ -284,9 +283,8 @@ public final class PlayerEmsgHandler implements Handler.Callback { private final FormatHolder formatHolder; private final MetadataInputBuffer buffer; - /* package */ PlayerTrackEmsgHandler(SampleQueue sampleQueue) { - this.sampleQueue = sampleQueue; - + /* package */ PlayerTrackEmsgHandler(Allocator allocator) { + this.sampleQueue = new SampleQueue(allocator, DrmSessionManager.getDummyDrmSessionManager()); formatHolder = new FormatHolder(); buffer = new MetadataInputBuffer(); } @@ -349,7 +347,7 @@ public final class PlayerEmsgHandler implements Handler.Callback { /** Release this track emsg handler. It should not be reused after this call. */ public void release() { - sampleQueue.reset(); + sampleQueue.release(); } // Internal methods.