Loading camera/ProCamera.cpp +2 −4 Original line number Original line Diff line number Diff line Loading @@ -103,7 +103,7 @@ void ProCamera::onResultReceived(int32_t frameId, camera_metadata* result) { { { Mutex::Autolock al(mWaitMutex); Mutex::Autolock al(mWaitMutex); mMetadataReady = true; mMetadataReady = true; mLatestMetadata = tmp; mLatestMetadata = tmp; // make copy mWaitCondition.broadcast(); mWaitCondition.broadcast(); } } Loading Loading @@ -312,8 +312,6 @@ void ProCamera::onFrameAvailable(int streamId) { sp<ProCameraListener> listener = mListener; sp<ProCameraListener> listener = mListener; StreamInfo& stream = getStreamInfo(streamId); StreamInfo& stream = getStreamInfo(streamId); CpuConsumer::LockedBuffer buf; if (listener.get() != NULL) { if (listener.get() != NULL) { listener->onFrameAvailable(streamId, stream.cpuConsumer); listener->onFrameAvailable(streamId, stream.cpuConsumer); } } Loading Loading @@ -421,7 +419,7 @@ CameraMetadata ProCamera::consumeFrameMetadata() { // Destructive: Subsequent calls return empty metadatas // Destructive: Subsequent calls return empty metadatas CameraMetadata tmp = mLatestMetadata; CameraMetadata tmp = mLatestMetadata; mLatestMetadata.release(); mLatestMetadata.clear(); return tmp; return tmp; } } Loading camera/tests/ProCameraTests.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1021,6 +1021,9 @@ TEST_F(ProCameraTest, WaitForDualStreamBuffer) { // Consume two frames simultaneously. Unsynchronized by timestamps. // Consume two frames simultaneously. Unsynchronized by timestamps. for (int i = 0; i < REQUEST_COUNT; ++i) { for (int i = 0; i < REQUEST_COUNT; ++i) { // Exhaust event queue so it doesn't keep growing while (mListener->ReadEvent() != UNKNOWN); // Get the metadata // Get the metadata EXPECT_OK(mCamera->waitForFrameMetadata()); EXPECT_OK(mCamera->waitForFrameMetadata()); CameraMetadata meta = mCamera->consumeFrameMetadata(); CameraMetadata meta = mCamera->consumeFrameMetadata(); Loading Loading
camera/ProCamera.cpp +2 −4 Original line number Original line Diff line number Diff line Loading @@ -103,7 +103,7 @@ void ProCamera::onResultReceived(int32_t frameId, camera_metadata* result) { { { Mutex::Autolock al(mWaitMutex); Mutex::Autolock al(mWaitMutex); mMetadataReady = true; mMetadataReady = true; mLatestMetadata = tmp; mLatestMetadata = tmp; // make copy mWaitCondition.broadcast(); mWaitCondition.broadcast(); } } Loading Loading @@ -312,8 +312,6 @@ void ProCamera::onFrameAvailable(int streamId) { sp<ProCameraListener> listener = mListener; sp<ProCameraListener> listener = mListener; StreamInfo& stream = getStreamInfo(streamId); StreamInfo& stream = getStreamInfo(streamId); CpuConsumer::LockedBuffer buf; if (listener.get() != NULL) { if (listener.get() != NULL) { listener->onFrameAvailable(streamId, stream.cpuConsumer); listener->onFrameAvailable(streamId, stream.cpuConsumer); } } Loading Loading @@ -421,7 +419,7 @@ CameraMetadata ProCamera::consumeFrameMetadata() { // Destructive: Subsequent calls return empty metadatas // Destructive: Subsequent calls return empty metadatas CameraMetadata tmp = mLatestMetadata; CameraMetadata tmp = mLatestMetadata; mLatestMetadata.release(); mLatestMetadata.clear(); return tmp; return tmp; } } Loading
camera/tests/ProCameraTests.cpp +3 −0 Original line number Original line Diff line number Diff line Loading @@ -1021,6 +1021,9 @@ TEST_F(ProCameraTest, WaitForDualStreamBuffer) { // Consume two frames simultaneously. Unsynchronized by timestamps. // Consume two frames simultaneously. Unsynchronized by timestamps. for (int i = 0; i < REQUEST_COUNT; ++i) { for (int i = 0; i < REQUEST_COUNT; ++i) { // Exhaust event queue so it doesn't keep growing while (mListener->ReadEvent() != UNKNOWN); // Get the metadata // Get the metadata EXPECT_OK(mCamera->waitForFrameMetadata()); EXPECT_OK(mCamera->waitForFrameMetadata()); CameraMetadata meta = mCamera->consumeFrameMetadata(); CameraMetadata meta = mCamera->consumeFrameMetadata(); Loading