QCamera2: Add support for capture after video recording is done
After video recording is done RecordingHint is still true, so
TakeLiveSnapshot should be called instead of regular snapshot
CRs-Fixed: 470089
Change-Id: Id578936cecb8b6554dadbd2eb10c8661ef8ff40b
diff --git a/QCamera2/HAL/QCameraStateMachine.cpp b/QCamera2/HAL/QCameraStateMachine.cpp
index 3fc050d..523dfea 100644
--- a/QCamera2/HAL/QCameraStateMachine.cpp
+++ b/QCamera2/HAL/QCameraStateMachine.cpp
@@ -1050,6 +1050,7 @@
break;
case QCAMERA_SM_EVT_TAKE_PICTURE:
{
+ if ( m_parent->mParameters.getRecordingHintValue() == false) {
rc = m_parent->takePicture();
if (rc == NO_ERROR) {
// move state to picture taking state
@@ -1066,6 +1067,16 @@
result.request_api = evt;
result.result_type = QCAMERA_API_RESULT_TYPE_DEF;
m_parent->signalAPIResult(&result);
+ } else {
+ rc = m_parent->takeLiveSnapshot();
+ if (rc == NO_ERROR ) {
+ m_state = QCAMERA_SM_STATE_PREVIEW_PIC_TAKING;
+ result.status = rc;
+ result.request_api = evt;
+ result.result_type = QCAMERA_API_RESULT_TYPE_DEF;
+ m_parent->signalAPIResult(&result);
+ }
+ }
}
break;
case QCAMERA_SM_EVT_SEND_COMMAND: