media: don't fail the test if encoder is still active.
Bug: 24012163
Change-Id: Idcff8dda6a417feb2810dd55da10333dcca874e2
diff --git a/tests/tests/media/src/android/media/cts/VideoEncoderTest.java b/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
index e3d2f09..fb1521d 100644
--- a/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
+++ b/tests/tests/media/src/android/media/cts/VideoEncoderTest.java
@@ -174,6 +174,7 @@
private boolean mSignaledDecoderEOS;
protected boolean mCompleted;
+ protected boolean mEncoderIsActive;
protected boolean mEncodeOutputFormatUpdated;
protected final Object mCondition = new Object();
@@ -322,6 +323,10 @@
mCompleted = true;
mCondition.notifyAll(); // condition is always satisfied
}
+ } else {
+ synchronized(mCondition) {
+ mEncoderIsActive = true;
+ }
}
}
}
@@ -395,6 +400,11 @@
break;
}
if (!haveBuffers()) {
+ if (mEncoderIsActive) {
+ mEncoderIsActive = false;
+ Log.d(TAG, "No more input but still getting output from encoder.");
+ continue;
+ }
fail("timed out after " + mBuffersToRender.size()
+ " decoder output and " + mEncInputBuffers.size()
+ " encoder input buffers");
@@ -557,7 +567,6 @@
implements SurfaceTexture.OnFrameAvailableListener {
private static final String TAG = "SurfaceVideoProcessor";
private boolean mFrameAvailable;
- private boolean mEncoderIsActive;
private boolean mGotDecoderEOS;
private boolean mSignaledEncoderEOS;