Merge "MediaCodec: don't cache buffers until requested" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-05-23 17:13:42 +00:00
committed by Android (Google) Code Review

View File

@@ -2317,10 +2317,6 @@ final public class MediaCodec {
*/ */
public final void start() { public final void start() {
native_start(); native_start();
synchronized(mBufferLock) {
cacheBuffers(true /* input */);
cacheBuffers(false /* input */);
}
} }
private native final void native_start(); private native final void native_start();
@@ -3951,6 +3947,9 @@ final public class MediaCodec {
+ "Please obtain MediaCodec.LinearBlock or HardwareBuffer " + "Please obtain MediaCodec.LinearBlock or HardwareBuffer "
+ "objects and attach to QueueRequest objects."); + "objects and attach to QueueRequest objects.");
} }
if (mCachedInputBuffers == null) {
cacheBuffers(true /* input */);
}
if (mCachedInputBuffers == null) { if (mCachedInputBuffers == null) {
throw new IllegalStateException(); throw new IllegalStateException();
} }
@@ -3989,6 +3988,9 @@ final public class MediaCodec {
+ "is not compatible with CONFIGURE_FLAG_USE_BLOCK_MODEL. " + "is not compatible with CONFIGURE_FLAG_USE_BLOCK_MODEL. "
+ "Please use getOutputFrame to get output frames."); + "Please use getOutputFrame to get output frames.");
} }
if (mCachedOutputBuffers == null) {
cacheBuffers(false /* input */);
}
if (mCachedOutputBuffers == null) { if (mCachedOutputBuffers == null) {
throw new IllegalStateException(); throw new IllegalStateException();
} }