From 928be328d1f1757a4d080ef24fc2b127d3d001e1 Mon Sep 17 00:00:00 2001 From: Wonsik Kim Date: Tue, 14 Jun 2022 20:01:22 +0000 Subject: [PATCH] Revert "MediaCodec: don't cache buffers until requested" This reverts commit d59a075f79b97245badba32fc54149769512a21b. Reason for revert: regression (see b/235925715) Fixes: 235059259 Test: manual Change-Id: I2e52c3abdd13fa0547a510b3599e082e3bff0989 (cherry picked from commit bc7d1172e0a17afa08d0133f2d967f377a1b6329) Merged-In: I2e52c3abdd13fa0547a510b3599e082e3bff0989 --- media/java/android/media/MediaCodec.java | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java index c2be2efe19c6d..d7f3338f1f98e 100644 --- a/media/java/android/media/MediaCodec.java +++ b/media/java/android/media/MediaCodec.java @@ -2320,6 +2320,10 @@ final public class MediaCodec { */ public final void start() { native_start(); + synchronized(mBufferLock) { + cacheBuffers(true /* input */); + cacheBuffers(false /* input */); + } } private native final void native_start(); @@ -3950,9 +3954,6 @@ final public class MediaCodec { + "Please obtain MediaCodec.LinearBlock or HardwareBuffer " + "objects and attach to QueueRequest objects."); } - if (mCachedInputBuffers == null) { - cacheBuffers(true /* input */); - } if (mCachedInputBuffers == null) { throw new IllegalStateException(); } @@ -3991,9 +3992,6 @@ final public class MediaCodec { + "is not compatible with CONFIGURE_FLAG_USE_BLOCK_MODEL. " + "Please use getOutputFrame to get output frames."); } - if (mCachedOutputBuffers == null) { - cacheBuffers(false /* input */); - } if (mCachedOutputBuffers == null) { throw new IllegalStateException(); }