Merge "MediaCodec: don't cache buffers until requested" into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
d7d0d4b1ab
@@ -2317,10 +2317,6 @@ final public class MediaCodec {
|
||||
*/
|
||||
public final void start() {
|
||||
native_start();
|
||||
synchronized(mBufferLock) {
|
||||
cacheBuffers(true /* input */);
|
||||
cacheBuffers(false /* input */);
|
||||
}
|
||||
}
|
||||
private native final void native_start();
|
||||
|
||||
@@ -3951,6 +3947,9 @@ 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();
|
||||
}
|
||||
@@ -3989,6 +3988,9 @@ 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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user