aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandroid-build-team Robot <android-build-team-robot@google.com>2020-09-16 23:09:04 +0000
committerandroid-build-team Robot <android-build-team-robot@google.com>2020-09-16 23:09:04 +0000
commitf2b475e5adc5b2ab26bc4cf8f3ca0f1e1c02fed6 (patch)
tree0b601a06e311f9050b6f34515e60ae7200f1268a
parent1205c7a8e6d1be544d70f946691599a8933a3543 (diff)
parentc0d29fc4088974a016d62de90fcb907e4b9958cb (diff)
downloadv4l2_codec2-f2b475e5adc5b2ab26bc4cf8f3ca0f1e1c02fed6.tar.gz
Snap for 6841706 from c0d29fc4088974a016d62de90fcb907e4b9958cb to rvc-qpr1-release
Change-Id: If32f218c729b142475d915d6b27904fe6642b8a2
-rw-r--r--components/V4L2Decoder.cpp2
-rw-r--r--tests/c2_e2e_test/src/org/chromium/c2/test/E2eTestActivity.java20
2 files changed, 19 insertions, 3 deletions
diff --git a/components/V4L2Decoder.cpp b/components/V4L2Decoder.cpp
index c070d64..0df4e50 100644
--- a/components/V4L2Decoder.cpp
+++ b/components/V4L2Decoder.cpp
@@ -502,8 +502,6 @@ void V4L2Decoder::tryFetchVideoFrame() {
ALOG_ASSERT(mTaskRunner->RunsTasksInCurrentSequence());
ALOG_ASSERT(mVideoFramePool, "mVideoFramePool is null, haven't get the instance yet?");
- if (mState == State::Idle) return;
-
if (mOutputQueue->FreeBuffersCount() == 0) {
ALOGD("No free V4L2 output buffers, ignore.");
return;
diff --git a/tests/c2_e2e_test/src/org/chromium/c2/test/E2eTestActivity.java b/tests/c2_e2e_test/src/org/chromium/c2/test/E2eTestActivity.java
index e423fc2..140ff82 100644
--- a/tests/c2_e2e_test/src/org/chromium/c2/test/E2eTestActivity.java
+++ b/tests/c2_e2e_test/src/org/chromium/c2/test/E2eTestActivity.java
@@ -29,6 +29,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
private SurfaceView mSurfaceView;
private Size mSize;
+ private boolean mSurfaceCreated = false;
+ private boolean mCanStartTest = false;
private Size mExpectedSize;
private CountDownLatch mLatch;
@@ -44,6 +46,8 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
mSurfaceView = (SurfaceView) findViewById(R.id.surface);
mSurfaceView.getHolder().addCallback(this);
+
+ mCanStartTest = !getIntent().getBooleanExtra("delay-start", false);
}
@Override
@@ -55,6 +59,14 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
@Override
public void surfaceCreated(SurfaceHolder holder) {
+ mSurfaceCreated = true;
+ maybeStartTest();
+ }
+
+ private void maybeStartTest() {
+ if (!mSurfaceCreated || !mCanStartTest) {
+ return;
+ }
boolean encode = getIntent().getBooleanExtra("do-encode", false);
String[] testArgs =
getIntent().getStringArrayExtra("test-args") != null
@@ -71,7 +83,7 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
encode,
testArgs,
testArgs.length,
- holder.getSurface(),
+ mSurfaceView.getHolder().getSurface(),
logFile);
Log.i(TAG, "Test returned result code " + res);
@@ -95,6 +107,12 @@ public class E2eTestActivity extends Activity implements SurfaceHolder.Callback
@Override
public void onNewIntent(Intent intent) {
+ if (intent.getAction().equals("org.chromium.c2.test.START_TEST")) {
+ mCanStartTest = true;
+ maybeStartTest();
+ return;
+ }
+
synchronized (this) {
if (mDecoderPtr != 0) {
stopDecoderLoop(mDecoderPtr);