QCamera2: Integrates pipeline events during longshot
- If supported by the camera reprocess events will
trigger the shutter callback, notifying the camera
client that it could queue a new buffer via a
'takePicture()'.
Change-Id: I39f56d08e09599fe2841268d563a123573360198
diff --git a/QCamera2/HAL/QCameraStateMachine.cpp b/QCamera2/HAL/QCameraStateMachine.cpp
index f90e24e..e724d1c 100644
--- a/QCamera2/HAL/QCameraStateMachine.cpp
+++ b/QCamera2/HAL/QCameraStateMachine.cpp
@@ -1664,6 +1664,16 @@
{
mm_camera_event_t *cam_evt = (mm_camera_event_t *)payload;
switch (cam_evt->server_event_type) {
+ case CAM_EVENT_TYPE_REPROCESS_STAGE_DONE:
+ {
+ if ( m_parent->isLongshotEnabled() ) {
+ if(!m_parent->m_postprocessor.getMultipleStages()) {
+ m_parent->m_postprocessor.setMultipleStages(true);
+ }
+ m_parent->playShutter();
+ }
+ }
+ break;
case CAM_EVENT_TYPE_DAEMON_DIED:
{
m_parent->sendEvtNotify(CAMERA_MSG_ERROR,
@@ -2752,6 +2762,16 @@
{
mm_camera_event_t *cam_evt = (mm_camera_event_t *)payload;
switch (cam_evt->server_event_type) {
+ case CAM_EVENT_TYPE_REPROCESS_STAGE_DONE:
+ {
+ if ( m_parent->isLongshotEnabled() ) {
+ if(!m_parent->m_postprocessor.getMultipleStages()) {
+ m_parent->m_postprocessor.setMultipleStages(true);
+ }
+ m_parent->playShutter();
+ }
+ }
+ break;
case CAM_EVENT_TYPE_DAEMON_DIED:
{
m_parent->sendEvtNotify(CAMERA_MSG_ERROR,