From 4fc11a98a1a0afc126ca0ec45fecda6d6e81b3d9 Mon Sep 17 00:00:00 2001 From: tofunmi Date: Fri, 22 Dec 2023 08:51:26 -0800 Subject: [PATCH] ignore dropSamplesBeforeFirstVideoSample in audio-only streams PiperOrigin-RevId: 593126632 --- .../src/main/java/androidx/media3/transformer/MuxerWrapper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java index 778ece356b..578b3065fe 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java +++ b/libraries/transformer/src/main/java/androidx/media3/transformer/MuxerWrapper.java @@ -348,6 +348,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; /* extraFormat= */ "%s", /* extraArgs...= */ canWriteSample); if (dropSamplesBeforeFirstVideoSample + && contains(trackTypeToInfo, C.TRACK_TYPE_VIDEO) && firstVideoPresentationTimeUs != C.TIME_UNSET && presentationTimeUs < firstVideoPresentationTimeUs) { // Drop the buffer. @@ -464,6 +465,7 @@ import org.checkerframework.checker.nullness.qual.MonotonicNonNull; private boolean canWriteSample(@C.TrackType int trackType, long presentationTimeUs) { if (dropSamplesBeforeFirstVideoSample && trackType != C.TRACK_TYPE_VIDEO + && contains(trackTypeToInfo, C.TRACK_TYPE_VIDEO) && firstVideoPresentationTimeUs == C.TIME_UNSET) { // Haven't received the first video sample yet, so can't write any audio. return false;