diff --git a/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.java b/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.java index 3325bdc723..e4b50c8b59 100644 --- a/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.java +++ b/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleDecoder.java @@ -53,7 +53,12 @@ public abstract class SimpleSubtitleDecoder @Override protected final SubtitleOutputBuffer createOutputBuffer() { - return new SimpleSubtitleOutputBuffer(this::releaseOutputBuffer); + return new SubtitleOutputBuffer() { + @Override + public void release() { + SimpleSubtitleDecoder.this.releaseOutputBuffer(this); + } + }; } @Override diff --git a/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleOutputBuffer.java b/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleOutputBuffer.java deleted file mode 100644 index ab2736e680..0000000000 --- a/library/common/src/main/java/com/google/android/exoplayer2/text/SimpleSubtitleOutputBuffer.java +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.google.android.exoplayer2.text; - -/** A {@link SubtitleOutputBuffer} for decoders that extend {@link SimpleSubtitleDecoder}. */ -/* package */ final class SimpleSubtitleOutputBuffer extends SubtitleOutputBuffer { - - private final Owner owner; - - /** @param owner The decoder that owns this buffer. */ - public SimpleSubtitleOutputBuffer(Owner owner) { - super(); - this.owner = owner; - } - - @Override - public final void release() { - owner.releaseOutputBuffer(this); - } -} diff --git a/library/core/src/main/java/com/google/android/exoplayer2/text/ExoplayerCuesDecoder.java b/library/core/src/main/java/com/google/android/exoplayer2/text/ExoplayerCuesDecoder.java index 33703778d2..07b72ba185 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/text/ExoplayerCuesDecoder.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/text/ExoplayerCuesDecoder.java @@ -57,7 +57,13 @@ public final class ExoplayerCuesDecoder implements SubtitleDecoder { inputBuffer = new SubtitleInputBuffer(); availableOutputBuffers = new ArrayDeque<>(); for (int i = 0; i < OUTPUT_BUFFERS_COUNT; i++) { - availableOutputBuffers.addFirst(new SimpleSubtitleOutputBuffer(this::releaseOutputBuffer)); + availableOutputBuffers.addFirst( + new SubtitleOutputBuffer() { + @Override + public void release() { + ExoplayerCuesDecoder.this.releaseOutputBuffer(this); + } + }); } inputBufferState = INPUT_BUFFER_AVAILABLE; }