diff --git a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java index cabdfc6be3..ce1da01884 100644 --- a/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java +++ b/libraries/extractor/src/main/java/androidx/media3/extractor/ts/H265Reader.java @@ -394,8 +394,10 @@ public final class H265Reader implements ElementaryStreamReader { public void end(long position) { sampleIsKeyframe = nalUnitHasKeyframeData; - // Output a sample with the NAL units since the current nalUnitPosition - outputSample(/* offset= */ (int) (position - nalUnitPosition)); + if (nalUnitTimeUs != sampleTimeUs) { + // Output a sample with the NAL units since the current nalUnitPosition + outputSample(/* offset= */ (int) (position - nalUnitPosition)); + } // Output a final sample with the remaining NAL units up to the passed position samplePosition = nalUnitPosition; nalUnitPosition = position;