diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DtsReader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DtsReader.java index 3959a45735..ebe0de6919 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DtsReader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/DtsReader.java @@ -144,7 +144,9 @@ public void createTracks(ExtractorOutput extractorOutput, TrackIdGenerator idGen @Override public void packetStarted(long pesTimeUs, @TsPayloadReader.Flags int flags) { - timeUs = pesTimeUs; + if (pesTimeUs != C.TIME_UNSET) { + timeUs = pesTimeUs; + } } @Override @@ -294,8 +296,7 @@ public void consume(ParsableByteArray data) throws ParserException { @Override public void packetFinished(boolean isEndOfInput) { - if (state == STATE_CHECKING_FOR_EXTSS_AFTER_CORE) { - checkNotNull(output); + if (isEndOfInput && state == STATE_CHECKING_FOR_EXTSS_AFTER_CORE) { if (coreFormatPendingEmit) { output.format(checkNotNull(format)); coreFormatPendingEmit = false;