From 82535306885dfe1fc3c21805d0358517556495bd Mon Sep 17 00:00:00 2001 From: Daniele Sparano Date: Tue, 11 Feb 2025 11:45:51 +0000 Subject: [PATCH] Avoid duplicated samples with at H265 ts end --- .../main/java/androidx/media3/extractor/ts/H265Reader.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) 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;