summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media/java/android/media/MediaCodec.java10
1 files changed, 4 insertions, 6 deletions
diff --git a/media/java/android/media/MediaCodec.java b/media/java/android/media/MediaCodec.java
index ccc23b7069ba..8756f1e2266d 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();
@@ -3951,9 +3955,6 @@ final public class MediaCodec {
+ "objects and attach to QueueRequest objects.");
}
if (mCachedInputBuffers == null) {
- cacheBuffers(true /* input */);
- }
- if (mCachedInputBuffers == null) {
throw new IllegalStateException();
}
// FIXME: check codec status
@@ -3992,9 +3993,6 @@ final public class MediaCodec {
+ "Please use getOutputFrame to get output frames.");
}
if (mCachedOutputBuffers == null) {
- cacheBuffers(false /* input */);
- }
- if (mCachedOutputBuffers == null) {
throw new IllegalStateException();
}
// FIXME: check codec status