use of android.hardware.camera2.utils.SubmitInfo in project android_frameworks_base by ResurrectionRemix.
the class CameraDeviceBinderTest method testIdleCallback.
@SmallTest
public void testIdleCallback() throws Exception {
int status;
CaptureRequest request = createDefaultBuilder(/* needStream */
true).build();
// Try streaming
SubmitInfo streamingInfo = submitCameraRequest(request, /* streaming */
true);
// Wait a bit to fill up the queue
SystemClock.sleep(WAIT_FOR_WORK_MS);
// Cancel and make sure we eventually quiesce
long lastFrameNumber = mCameraUser.cancelRequest(streamingInfo.getRequestId());
verify(mMockCb, timeout(WAIT_FOR_IDLE_TIMEOUT_MS).times(1)).onDeviceIdle();
// Submit a few capture requests
SubmitInfo requestInfo1 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo2 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo3 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo4 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo5 = submitCameraRequest(request, /* streaming */
false);
// And wait for more idle
verify(mMockCb, timeout(WAIT_FOR_IDLE_TIMEOUT_MS).times(2)).onDeviceIdle();
}
use of android.hardware.camera2.utils.SubmitInfo in project android_frameworks_base by ResurrectionRemix.
the class CameraDeviceBinderTest method testSubmitGoodRequest.
@SmallTest
public void testSubmitGoodRequest() throws Exception {
CaptureRequest.Builder builder = createDefaultBuilder(/* needStream */
true);
CaptureRequest request = builder.build();
// Submit valid request twice.
SubmitInfo requestInfo1 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo2 = submitCameraRequest(request, /* streaming */
false);
assertNotSame("Request IDs should be unique for multiple requests", requestInfo1.getRequestId(), requestInfo2.getRequestId());
}
use of android.hardware.camera2.utils.SubmitInfo in project android_frameworks_base by ResurrectionRemix.
the class CameraDeviceBinderTest method testCaptureStartedCallbacks.
@SmallTest
public void testCaptureStartedCallbacks() throws Exception {
CaptureRequest request = createDefaultBuilder(/* needStream */
true).build();
ArgumentCaptor<Long> timestamps = ArgumentCaptor.forClass(Long.class);
// Test both single request and streaming request.
SubmitInfo requestInfo1 = submitCameraRequest(request, /* streaming */
false);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).times(1)).onCaptureStarted(any(CaptureResultExtras.class), anyLong());
SubmitInfo streamingInfo = submitCameraRequest(request, /* streaming */
true);
verify(mMockCb, timeout(WAIT_FOR_COMPLETE_TIMEOUT_MS).atLeast(NUM_CALLBACKS_CHECKED)).onCaptureStarted(any(CaptureResultExtras.class), timestamps.capture());
// All timestamps should be larger than 0.
long timestamp = 0;
for (Long nextTimestamp : timestamps.getAllValues()) {
Log.v(TAG, "next t: " + nextTimestamp + " current t: " + timestamp);
assertTrue("Captures are out of order", timestamp < nextTimestamp);
timestamp = nextTimestamp;
}
}
use of android.hardware.camera2.utils.SubmitInfo in project android_frameworks_base by ResurrectionRemix.
the class CameraDeviceBinderTest method submitCameraRequest.
private SubmitInfo submitCameraRequest(CaptureRequest request, boolean streaming) throws Exception {
SubmitInfo requestInfo = mCameraUser.submitRequest(request, streaming);
assertTrue("Request IDs should be non-negative (expected: >= 0, actual: " + requestInfo.getRequestId() + ")", requestInfo.getRequestId() >= 0);
return requestInfo;
}
use of android.hardware.camera2.utils.SubmitInfo in project android_frameworks_base by ResurrectionRemix.
the class CameraDeviceBinderTest method testFlush.
@SmallTest
public void testFlush() throws Exception {
int status;
// Initial flush should work
long lastFrameNumber = mCameraUser.flush();
// Then set up a stream
CaptureRequest request = createDefaultBuilder(/* needStream */
true).build();
// Flush should still be a no-op, really
lastFrameNumber = mCameraUser.flush();
// Submit a few capture requests
SubmitInfo requestInfo1 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo2 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo3 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo4 = submitCameraRequest(request, /* streaming */
false);
SubmitInfo requestInfo5 = submitCameraRequest(request, /* streaming */
false);
// Then flush and wait for idle
lastFrameNumber = mCameraUser.flush();
verify(mMockCb, timeout(WAIT_FOR_FLUSH_TIMEOUT_MS).times(1)).onDeviceIdle();
// Now a streaming request
SubmitInfo streamingInfo = submitCameraRequest(request, /* streaming */
true);
// Wait a bit to fill up the queue
SystemClock.sleep(WAIT_FOR_WORK_MS);
// Then flush and wait for the idle callback
lastFrameNumber = mCameraUser.flush();
verify(mMockCb, timeout(WAIT_FOR_FLUSH_TIMEOUT_MS).times(2)).onDeviceIdle();
// TODO: When errors are hooked up, count that errors + successful
// requests equal to 5.
}
Aggregations