From 4fe55b8b63d52620b8f79a6bdcd91dd3e81db16e Mon Sep 17 00:00:00 2001 From: Googler Date: Tue, 8 Aug 2023 16:36:29 +0000 Subject: [PATCH] Return the correct output buffer from audio processing pipeline PiperOrigin-RevId: 554851456 --- .../common/audio/AudioProcessingPipeline.java | 8 ++-- ...o.mov.audio_then_silence_with_effects.dump | 40 +++++++------------ ...ideo.mov.silence-effects_then_silence.dump | 10 +---- ...o.mov.silence_then_audio_with_effects.dump | 10 +---- ...ideo.mov.silence_then_silence-effects.dump | 10 +---- ...mov.silence_then_silence_with_effects.dump | 10 +---- 6 files changed, 27 insertions(+), 61 deletions(-) diff --git a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessingPipeline.java b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessingPipeline.java index 03ff279d6e..776462e682 100644 --- a/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessingPipeline.java +++ b/libraries/common/src/main/java/androidx/media3/common/audio/AudioProcessingPipeline.java @@ -222,10 +222,12 @@ public final class AudioProcessingPipeline { return EMPTY_BUFFER; } ByteBuffer outputBuffer = outputBuffers[getFinalOutputBufferIndex()]; - if (!outputBuffer.hasRemaining()) { - processData(EMPTY_BUFFER); + if (outputBuffer.hasRemaining()) { + return outputBuffer; } - return outputBuffer; + + processData(EMPTY_BUFFER); + return outputBuffers[getFinalOutputBufferIndex()]; } /** diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.audio_then_silence_with_effects.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.audio_then_silence_with_effects.dump index 2adad1ca63..723346a84c 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.audio_then_silence_with_effects.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.audio_then_silence_with_effects.dump @@ -2132,16 +2132,16 @@ sample: presentationTimeUs = 3145020 sample: trackIndex = 1 - dataHashCode = 202646529 - size = 4320 + dataHashCode = -738966527 + size = 8160 isKeyFrame = true presentationTimeUs = 3165020 sample: trackIndex = 1 - dataHashCode = -738966527 - size = 8160 + dataHashCode = 202646529 + size = 4320 isKeyFrame = true - presentationTimeUs = 3187520 + presentationTimeUs = 3207520 sample: trackIndex = 1 dataHashCode = -1017110527 @@ -2186,16 +2186,10 @@ sample: presentationTimeUs = 3357520 sample: trackIndex = 1 - dataHashCode = 202646529 - size = 4320 + dataHashCode = -738966527 + size = 8160 isKeyFrame = true presentationTimeUs = 3377520 -sample: - trackIndex = 1 - dataHashCode = -1017110527 - size = 3840 - isKeyFrame = true - presentationTimeUs = 3400020 sample: trackIndex = 1 dataHashCode = 202646529 @@ -2228,16 +2222,16 @@ sample: presentationTimeUs = 3500000 sample: trackIndex = 1 - dataHashCode = -738966527 - size = 8160 + dataHashCode = 202646529 + size = 4320 isKeyFrame = true presentationTimeUs = 3527520 sample: trackIndex = 1 - dataHashCode = 202646529 - size = 4320 + dataHashCode = -738966527 + size = 8160 isKeyFrame = true - presentationTimeUs = 3570020 + presentationTimeUs = 3550020 sample: trackIndex = 1 dataHashCode = -1017110527 @@ -2336,16 +2330,10 @@ sample: presentationTimeUs = 3932520 sample: trackIndex = 1 - dataHashCode = 304617473 - size = 2880 + dataHashCode = -422154111 + size = 8636 isKeyFrame = true presentationTimeUs = 3955020 -sample: - trackIndex = 1 - dataHashCode = -933078911 - size = 5756 - isKeyFrame = true - presentationTimeUs = 3970020 sample: trackIndex = 1 dataHashCode = -1807454463 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence-effects_then_silence.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence-effects_then_silence.dump index 7e2a848842..2d187eee5d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence-effects_then_silence.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence-effects_then_silence.dump @@ -1704,16 +1704,10 @@ sample: presentationTimeUs = 1942902 sample: trackIndex = 1 - dataHashCode = -1759454975 - size = 440 + dataHashCode = 359941761 + size = 5644 isKeyFrame = true presentationTimeUs = 1967845 -sample: - trackIndex = 1 - dataHashCode = -1409159807 - size = 5204 - isKeyFrame = true - presentationTimeUs = 1970340 sample: trackIndex = 1 dataHashCode = 693101697 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_audio_with_effects.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_audio_with_effects.dump index 7df48a66d6..3566f70051 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_audio_with_effects.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_audio_with_effects.dump @@ -1704,16 +1704,10 @@ sample: presentationTimeUs = 1942902 sample: trackIndex = 1 - dataHashCode = -1759454975 - size = 440 + dataHashCode = 359941761 + size = 5644 isKeyFrame = true presentationTimeUs = 1967845 -sample: - trackIndex = 1 - dataHashCode = -1409159807 - size = 5204 - isKeyFrame = true - presentationTimeUs = 1970340 sample: trackIndex = 1 dataHashCode = -752508258 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence-effects.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence-effects.dump index 7e2a848842..2d187eee5d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence-effects.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence-effects.dump @@ -1704,16 +1704,10 @@ sample: presentationTimeUs = 1942902 sample: trackIndex = 1 - dataHashCode = -1759454975 - size = 440 + dataHashCode = 359941761 + size = 5644 isKeyFrame = true presentationTimeUs = 1967845 -sample: - trackIndex = 1 - dataHashCode = -1409159807 - size = 5204 - isKeyFrame = true - presentationTimeUs = 1970340 sample: trackIndex = 1 dataHashCode = 693101697 diff --git a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence_with_effects.dump b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence_with_effects.dump index 7e2a848842..2d187eee5d 100644 --- a/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence_with_effects.dump +++ b/libraries/test_data/src/test/assets/transformerdumps/mp4/sowt-with-video.mov.silence_then_silence_with_effects.dump @@ -1704,16 +1704,10 @@ sample: presentationTimeUs = 1942902 sample: trackIndex = 1 - dataHashCode = -1759454975 - size = 440 + dataHashCode = 359941761 + size = 5644 isKeyFrame = true presentationTimeUs = 1967845 -sample: - trackIndex = 1 - dataHashCode = -1409159807 - size = 5204 - isKeyFrame = true - presentationTimeUs = 1970340 sample: trackIndex = 1 dataHashCode = 693101697