diff options
Diffstat (limited to 'camera')
-rw-r--r-- | camera/ProCamera.cpp | 6 | ||||
-rw-r--r-- | camera/tests/ProCameraTests.cpp | 3 |
2 files changed, 5 insertions, 4 deletions
diff --git a/camera/ProCamera.cpp b/camera/ProCamera.cpp index 396b009..fec5461 100644 --- a/camera/ProCamera.cpp +++ b/camera/ProCamera.cpp @@ -103,7 +103,7 @@ void ProCamera::onResultReceived(int32_t frameId, camera_metadata* result) { { Mutex::Autolock al(mWaitMutex); mMetadataReady = true; - mLatestMetadata = tmp; + mLatestMetadata = tmp; // make copy mWaitCondition.broadcast(); } @@ -312,8 +312,6 @@ void ProCamera::onFrameAvailable(int streamId) { sp<ProCameraListener> listener = mListener; StreamInfo& stream = getStreamInfo(streamId); - CpuConsumer::LockedBuffer buf; - if (listener.get() != NULL) { listener->onFrameAvailable(streamId, stream.cpuConsumer); } @@ -421,7 +419,7 @@ CameraMetadata ProCamera::consumeFrameMetadata() { // Destructive: Subsequent calls return empty metadatas CameraMetadata tmp = mLatestMetadata; - mLatestMetadata.release(); + mLatestMetadata.clear(); return tmp; } diff --git a/camera/tests/ProCameraTests.cpp b/camera/tests/ProCameraTests.cpp index ecc0854..87f817a 100644 --- a/camera/tests/ProCameraTests.cpp +++ b/camera/tests/ProCameraTests.cpp @@ -1021,6 +1021,9 @@ TEST_F(ProCameraTest, WaitForDualStreamBuffer) { // Consume two frames simultaneously. Unsynchronized by timestamps. for (int i = 0; i < REQUEST_COUNT; ++i) { + // Exhaust event queue so it doesn't keep growing + while (mListener->ReadEvent() != UNKNOWN); + // Get the metadata EXPECT_OK(mCamera->waitForFrameMetadata()); CameraMetadata meta = mCamera->consumeFrameMetadata(); |