From cce59b2ceab5da34afd5084083ce3425f0d1fb7b Mon Sep 17 00:00:00 2001
From: Arun Johnson <arunjohnson@google.com>
Date: Thu, 7 Mar 2024 22:09:45 +0000
Subject: [PATCH] Reset mBufferInfos for setBufferInfo(s)

Since any of the setBufferInfo(s) can be converted
to BufferInfos in getBufferInfos, a reset is required
for mBufferInfos for every setBufferInfo(s)

Bug: 325512893
Test: atest android.mediav2.cts.CodecDecoderBlockModelMultiAccessUnitTest

Change-Id: Ibf28ad0983985bfb93f3bffe426677729430d06a
---
 media/java/android/media/MediaCodec.java | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index 5b479b5f9c11..1c44be28c548 100644
--- a/media/java/android/media/MediaCodec.java
+++ b/media/java/android/media/MediaCodec.java
@@ -4748,6 +4748,9 @@ final public class MediaCodec {
         }
 
         void setBufferInfo(MediaCodec.BufferInfo info) {
+            // since any of setBufferInfo(s) should translate to getBufferInfos,
+            // mBufferInfos needs to be reset for every setBufferInfo(s)
+            mBufferInfos.clear();
             mPresentationTimeUs = info.presentationTimeUs;
             mFlags = info.flags;
         }
-- 
GitLab