mirror of
https://github.com/androidx/media.git
synced 2025-05-06 23:20:42 +08:00
Fix NPE in TextTrackRenderer
Issue: #2081 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=139566990
This commit is contained in:
parent
cafe603694
commit
4a30dff524
@ -114,19 +114,11 @@ public final class TextRenderer extends BaseRenderer implements Callback {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPositionReset(long positionUs, boolean joining) {
|
protected void onPositionReset(long positionUs, boolean joining) {
|
||||||
|
clearOutput();
|
||||||
|
resetBuffers();
|
||||||
|
decoder.flush();
|
||||||
inputStreamEnded = false;
|
inputStreamEnded = false;
|
||||||
outputStreamEnded = false;
|
outputStreamEnded = false;
|
||||||
if (subtitle != null) {
|
|
||||||
subtitle.release();
|
|
||||||
subtitle = null;
|
|
||||||
}
|
|
||||||
if (nextSubtitle != null) {
|
|
||||||
nextSubtitle.release();
|
|
||||||
nextSubtitle = null;
|
|
||||||
}
|
|
||||||
nextInputBuffer = null;
|
|
||||||
clearOutput();
|
|
||||||
decoder.flush();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -220,18 +212,10 @@ public final class TextRenderer extends BaseRenderer implements Callback {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onDisabled() {
|
protected void onDisabled() {
|
||||||
if (subtitle != null) {
|
clearOutput();
|
||||||
subtitle.release();
|
resetBuffers();
|
||||||
subtitle = null;
|
|
||||||
}
|
|
||||||
if (nextSubtitle != null) {
|
|
||||||
nextSubtitle.release();
|
|
||||||
nextSubtitle = null;
|
|
||||||
}
|
|
||||||
decoder.release();
|
decoder.release();
|
||||||
decoder = null;
|
decoder = null;
|
||||||
nextInputBuffer = null;
|
|
||||||
clearOutput();
|
|
||||||
super.onDisabled();
|
super.onDisabled();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -247,6 +231,19 @@ public final class TextRenderer extends BaseRenderer implements Callback {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void resetBuffers() {
|
||||||
|
nextInputBuffer = null;
|
||||||
|
nextSubtitleEventIndex = C.INDEX_UNSET;
|
||||||
|
if (subtitle != null) {
|
||||||
|
subtitle.release();
|
||||||
|
subtitle = null;
|
||||||
|
}
|
||||||
|
if (nextSubtitle != null) {
|
||||||
|
nextSubtitle.release();
|
||||||
|
nextSubtitle = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private long getNextEventTime() {
|
private long getNextEventTime() {
|
||||||
return ((nextSubtitleEventIndex == C.INDEX_UNSET)
|
return ((nextSubtitleEventIndex == C.INDEX_UNSET)
|
||||||
|| (nextSubtitleEventIndex >= subtitle.getEventTimeCount())) ? Long.MAX_VALUE
|
|| (nextSubtitleEventIndex >= subtitle.getEventTimeCount())) ? Long.MAX_VALUE
|
||||||
|
Loading…
x
Reference in New Issue
Block a user