Camera3: Code clean up and bug fix

- Stop all streams before removing any of them. This is due to
  hardware limitation.
- Remove compilation warnings.
- Eliminate log flooding.
- Remove conditional compiled-out code.

Change-Id: I606bf495f76c0cc67ebceed699b371ab939d73a4
diff --git a/camera/QCamera2/HAL3/Android.mk b/camera/QCamera2/HAL3/Android.mk
index 579bbde..f5c02d7 100644
--- a/camera/QCamera2/HAL3/Android.mk
+++ b/camera/QCamera2/HAL3/Android.mk
@@ -11,9 +11,8 @@
         QCamera3Channel.cpp \
         QCamera3PostProc.cpp \
 
-#LOCAL_CFLAGS = -Wall -Werror
+LOCAL_CFLAGS = -Wall -Werror
 LOCAL_CFLAGS := -Wall
-LOCAL_CFLAGS += -DFAKE_FRAME_NUMBERS
 
 
 LOCAL_C_INCLUDES := \
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.cpp b/camera/QCamera2/HAL3/QCamera3Channel.cpp
index 1aba281..c6a5849 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Channel.cpp
@@ -73,14 +73,16 @@
 {
     m_camHandle = cam_handle;
     m_camOps = cam_ops;
-    mChannelCB = cb_routine;
-    mPaddingInfo = paddingInfo;
-    mUserData = userData;
     m_bIsActive = false;
 
     m_handle = 0;
     m_numStreams = 0;
     memset(mStreams, 0, sizeof(mStreams));
+    mUserData = userData;
+
+    mStreamInfoBuf = NULL;
+    mChannelCB = cb_routine;
+    mPaddingInfo = paddingInfo;
 }
 
 /*===========================================================================
@@ -96,13 +98,16 @@
 {
     m_camHandle = 0;
     m_camOps = NULL;
-    mPaddingInfo = NULL;
-    mUserData = NULL;
     m_bIsActive = false;
 
     m_handle = 0;
     m_numStreams = 0;
     memset(mStreams, 0, sizeof(mStreams));
+    mUserData = NULL;
+
+    mStreamInfoBuf = NULL;
+    mChannelCB = NULL;
+    mPaddingInfo = NULL;
 }
 
 /*===========================================================================
@@ -610,7 +615,7 @@
     mMemory = NULL;
 }
 
-int QCamera3RegularChannel::kMaxBuffers = 7;
+int QCamera3RegularChannel::kMaxBuffers = 4;
 
 QCamera3MetadataChannel::QCamera3MetadataChannel(uint32_t cam_handle,
                     mm_camera_ops_t *cam_ops,
@@ -621,9 +626,6 @@
                                 cb_routine, paddingInfo, userData),
                         mMemory(NULL)
 {
-#ifdef FAKE_FRAME_NUMBERS
-    startingFrameNumber=0;
-#endif
 }
 
 QCamera3MetadataChannel::~QCamera3MetadataChannel()
@@ -668,9 +670,6 @@
                                                 uint32_t frameNumber)
 {
     if (!m_bIsActive) {
-#ifdef FAKE_FRAME_NUMBERS
-        startingFrameNumber=frameNumber;
-#endif
         return start();
     }
     else
@@ -693,9 +692,6 @@
         ALOGE("%s: super_frame is not valid", __func__);
         return;
     }
-#ifdef FAKE_FRAME_NUMBERS
-    requestNumber = startingFrameNumber++;
-#endif
     mChannelCB(super_frame, NULL, requestNumber, mUserData);
 
     //Return the buffer
@@ -794,7 +790,7 @@
         result.acquire_fence = -1;
         result.release_fence = -1;
 
-        ALOGE("%s: Issue Callback", __func__);
+        ALOGD("%s: Issue Callback", __func__);
         obj->mChannelCB(NULL, &result, resultFrameNumber, obj->mUserData);
 
         // release internal data for jpeg job
@@ -818,10 +814,13 @@
                         QCamera3Channel(cam_handle, cam_ops, cb_routine,
                         paddingInfo, userData),
                         mCamera3Stream(stream),
-                        m_postprocessor(this),
+                        mNumBufs(0),
                         mCamera3Buffers(NULL),
+                        mJpegSettings(NULL),
+                        mCurrentBufIndex(-1),
                         mMemory(NULL),
-                        mYuvMemory(NULL)
+                        mYuvMemory(NULL),
+                        m_postprocessor(this)
 {
     int32_t rc = m_postprocessor.init(jpegEvtHandle, this);
     if (rc != 0) {
@@ -887,7 +886,7 @@
         //Stream on for main image. YUV buffer is queued to the kernel at the end of this call.
         rc = start();
     } else {
-        ALOGE("%s: Request on an existing stream",__func__);
+        ALOGD("%s: Request on an existing stream",__func__);
     }
 
     if(rc != NO_ERROR) {
@@ -934,7 +933,7 @@
 void QCamera3PicChannel::dataNotifyCB(mm_camera_super_buf_t *recvd_frame,
                                  void *userdata)
 {
-    ALOGE("%s: E\n", __func__);
+    ALOGV("%s: E\n", __func__);
     QCamera3PicChannel *channel = (QCamera3PicChannel *)userdata;
 
     if (channel == NULL) {
@@ -954,8 +953,8 @@
     }
 
     channel->QCamera3PicChannel::streamCbRoutine(recvd_frame, channel->mStreams[0]);
-    ALOGE("%s: X\n", __func__);
 
+    ALOGV("%s: X\n", __func__);
     return;
 }
 
@@ -964,12 +963,10 @@
                         buffer_handle_t **buffers)
 {
     int rc = 0;
-    struct private_handle_t *priv_handle = (struct private_handle_t *)(*buffers[0]);
     cam_stream_type_t streamType;
     cam_format_t streamFormat;
-    cam_dimension_t streamDim;
 
-    ALOGE("%s: E",__func__);
+    ALOGV("%s: E",__func__);
     rc = QCamera3PicChannel::initialize();
     if (rc < 0) {
         ALOGE("%s: init failed", __func__);
@@ -994,6 +991,7 @@
     for (size_t i = 0; i < num_buffers; i++)
         mCamera3Buffers[i] = buffers[i];
 
+    ALOGV("%s: X",__func__);
     return rc;
 }
 
@@ -1001,8 +999,8 @@
                             QCamera3Stream *stream)
 {
     //TODO
-    //Used only for getting YUV. Jpeg callback will be sent back from channel directly to HWI.
-    //Refer to func jpegEvtHandle
+    //Used only for getting YUV. Jpeg callback will be sent back from channel
+    //directly to HWI. Refer to func jpegEvtHandle
 
     //Got the yuv callback. Calling yuv callback handler in PostProc
     uint8_t frameIndex;
@@ -1034,7 +1032,8 @@
 
     frame = (mm_camera_super_buf_t *)malloc(sizeof(mm_camera_super_buf_t));
     if (frame == NULL) {
-       ALOGE("%s: Error allocating memory to save received_frame structure.", __func__);
+       ALOGE("%s: Error allocating memory to save received_frame structure.",
+                                                                    __func__);
        if(stream) {
            stream->bufDone(frameIndex);
        }
@@ -1109,7 +1108,7 @@
 {
     //TBD_Later
     //if ((gCamCapability[mCameraId]->qcom_supported_feature_mask & CAM_QCOM_FEATURE_ROTATION) > 0 &&
-       if (mJpegSettings->jpeg_orientation > 0) {
+    if (mJpegSettings->jpeg_orientation > 0) {
         // current rotation is not zero, and pp has the capability to process rotation
         ALOGD("%s: need do online rotation", __func__);
         return true;
@@ -1420,11 +1419,11 @@
  *              none-zero failure code
  *==========================================================================*/
 int32_t getExifGpsDateTimeStamp(char *gpsDateStamp,
-                                                   uint32_t bufLen,
-                                                   rat_t *gpsTimeStamp, int64_t value)
+                                           uint32_t bufLen,
+                                           rat_t *gpsTimeStamp, int64_t value)
 {
     char str[30];
-    snprintf(str, sizeof(str), "%d", value);
+    snprintf(str, sizeof(str), "%lld", value);
     if(str != NULL) {
         time_t unixTime = (time_t)atol(str);
         struct tm *UTCTimestamp = gmtime(&unixTime);
diff --git a/camera/QCamera2/HAL3/QCamera3Channel.h b/camera/QCamera2/HAL3/QCamera3Channel.h
index 03451b8..20fa3a1 100644
--- a/camera/QCamera2/HAL3/QCamera3Channel.h
+++ b/camera/QCamera2/HAL3/QCamera3Channel.h
@@ -165,10 +165,6 @@
     virtual QCamera3Memory *getStreamBufs(uint32_t le);
     virtual void putStreamBufs();
 
-#ifdef FAKE_FRAME_NUMBERS
-    uint32_t startingFrameNumber;
-#endif
-
 private:
     QCamera3HeapMemory *mMemory;
 };
diff --git a/camera/QCamera2/HAL3/QCamera3Factory.cpp b/camera/QCamera2/HAL3/QCamera3Factory.cpp
index 8b145ea..80744cf 100644
--- a/camera/QCamera2/HAL3/QCamera3Factory.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Factory.cpp
@@ -132,7 +132,7 @@
 int QCamera3Factory::getCameraInfo(int camera_id, struct camera_info *info)
 {
     int rc;
-    ALOGE("%s: E, camera_id = %d", __func__, camera_id);
+    ALOGV("%s: E, camera_id = %d", __func__, camera_id);
 
     if (!mNumOfCameras || camera_id >= mNumOfCameras || !info) {
         return INVALID_OPERATION;
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.cpp b/camera/QCamera2/HAL3/QCamera3HWI.cpp
index 81bf9ad..c07677d 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/camera/QCamera2/HAL3/QCamera3HWI.cpp
@@ -184,30 +184,31 @@
  *==========================================================================*/
 QCamera3HardwareInterface::~QCamera3HardwareInterface()
 {
-    ALOGE("%s: %d", __func__, __LINE__);
+    ALOGV("%s: E", __func__);
     /* Clean up all channels */
     mMetadataChannel->stop();
     delete mMetadataChannel;
     mMetadataChannel = NULL;
+    /* We need to stop all streams before deleting any stream */
     for (List<stream_info_t *>::iterator it = mStreamInfo.begin();
         it != mStreamInfo.end(); it++) {
         QCamera3Channel *channel = (QCamera3Channel *)(*it)->stream->priv;
         channel->stop();
+    }
+    for (List<stream_info_t *>::iterator it = mStreamInfo.begin();
+        it != mStreamInfo.end(); it++) {
+        QCamera3Channel *channel = (QCamera3Channel *)(*it)->stream->priv;
         delete channel;
         free (*it);
     }
 
-    ALOGE("%s: %d", __func__, __LINE__);
     if (mJpegSettings != NULL) {
         free(mJpegSettings);
         mJpegSettings = NULL;
     }
-    ALOGE("%s: %d", __func__, __LINE__);
     deinitParameters();
-    ALOGE("%s: %d", __func__, __LINE__);
     closeCamera();
 
-    ALOGE("%s: %d", __func__, __LINE__);
     for (size_t i = 0; i < CAMERA3_TEMPLATE_COUNT; i++)
         if (mDefaultMetadata[i])
             free_camera_metadata(mDefaultMetadata[i]);
@@ -217,6 +218,7 @@
 
     pthread_mutex_destroy(&mMutex);
     pthread_mutex_destroy(&mCaptureResultLock);
+    ALOGV("%s: X", __func__);
 }
 
 /*===========================================================================
@@ -394,8 +396,11 @@
      * if they appear again, they will be validated */
     for (List<stream_info_t*>::iterator it=mStreamInfo.begin();
             it != mStreamInfo.end(); it++) {
+        QCamera3Channel *channel = (QCamera3Channel*)(*it)->stream->priv;
+        channel->stop();
         (*it)->status = INVALID;
     }
+
     for (size_t i = 0; i < streamList->num_streams; i++) {
         camera3_stream_t *newStream = streamList->streams[i];
         ALOGV("%s: newStream type = %d, stream format = %d",
@@ -411,7 +416,6 @@
                 (*it)->status = RECONFIGURE;
                 /*delete the channel object associated with the stream because
                   we need to reconfigure*/
-                channel->stop();
                 delete channel;
                 (*it)->stream->priv = NULL;
             }
@@ -436,14 +440,11 @@
     }
     mInputStream = inputStream;
 
-    /* TODO: Clean up no longer used streams, and maintain others if this
-     * is not the 1st time configureStreams is called */
     /*clean up invalid streams*/
     for (List<stream_info_t*>::iterator it=mStreamInfo.begin();
             it != mStreamInfo.end();) {
         if(((*it)->status) == INVALID){
             QCamera3Channel *channel = (QCamera3Channel*)(*it)->stream->priv;
-            channel->stop();
             delete channel;
             delete[] (buffer_handle_t*)(*it)->buffer_set.buffers;
             free(*it);
@@ -532,7 +533,7 @@
                     ALOGE("%s: Failed to register the buffers of old stream,\
                             rc = %d", __func__, rc);
                 }
-                ALOGE("%s: channel %p has %d buffers",
+                ALOGD("%s: channel %p has %d buffers",
                         __func__, channel, (*it)->buffer_set.num_buffers);
             }
         }
@@ -552,7 +553,6 @@
     memset(mParameters, 0, sizeof(parm_buffer_t));
     mFirstRequest = true;
 
-end:
     pthread_mutex_unlock(&mMutex);
     return rc;
 }
@@ -769,14 +769,11 @@
         }
     }
 
-    ALOGV("%s: %d", __func__, __LINE__);
-
     /* Update pending request list and pending buffers map */
     pthread_mutex_lock(&mRequestLock);
     PendingRequestInfo pendingRequest;
     pendingRequest.frame_number = frameNumber;
     pendingRequest.num_buffers = request->num_output_buffers;
-//    pendingRequest.metadata = NULL;
     for (size_t i = 0; i < request->num_output_buffers; i++) {
         RequestedBufferInfo requestedBuf;
         requestedBuf.stream = request->output_buffers[i].stream;
@@ -804,7 +801,7 @@
         if (output.stream->format == HAL_PIXEL_FORMAT_BLOB) {
             rc = channel->request(output.buffer, frameNumber, mJpegSettings);
         } else {
-            ALOGE("%s: %d, request with buffer %p, frame_number %d", __func__, __LINE__, output.buffer, frameNumber);
+            ALOGI("%s: %d, request with buffer %p, frame_number %d", __func__, __LINE__, output.buffer, frameNumber);
             rc = channel->request(output.buffer, frameNumber);
         }
         if (rc < 0)
@@ -898,11 +895,11 @@
             tv->tv_usec * NSEC_PER_USEC;
 
         if (!frame_number_valid) {
-            ALOGI("%s: Not a valid frame number, used as SOF only", __func__);
+            ALOGD("%s: Not a valid frame number, used as SOF only", __func__);
             mMetadataChannel->bufDone(metadata_buf);
             goto done_metadata;
         }
-        ALOGE("%s: valid frame_number = %d, capture_time = %lld", __func__,
+        ALOGD("%s: valid frame_number = %d, capture_time = %lld", __func__,
                 frame_number, capture_time);
 
         // Go through the pending requests info and send shutter/results to frameworks
@@ -910,7 +907,7 @@
                 i != mPendingRequestsList.end() && i->frame_number <= frame_number;) {
             camera3_capture_result_t result;
             camera3_notify_msg_t notify_msg;
-            ALOGE("%s: frame_number in the list is %d", __func__, i->frame_number);
+            ALOGD("%s: frame_number in the list is %d", __func__, i->frame_number);
 
             // Flush out all entries with less or equal frame numbers.
 
@@ -928,7 +925,7 @@
             notify_msg.message.shutter.frame_number = i->frame_number;
             notify_msg.message.shutter.timestamp = current_capture_time;
             mCallbackOps->notify(mCallbackOps, &notify_msg);
-            ALOGE("%s: notify frame_number = %d, capture_time = %lld", __func__,
+            ALOGD("%s: notify frame_number = %d, capture_time = %lld", __func__,
                     i->frame_number, capture_time);
 
             // Send empty metadata with already filled buffers for dropped metadata
@@ -975,15 +972,14 @@
                 result.output_buffers = result_buffers;
 
                 mCallbackOps->process_capture_result(mCallbackOps, &result);
-                ALOGE("%s: meta frame_number = %d, capture_time = %lld", __func__,
-                        result.frame_number,
-                        current_capture_time);
+                ALOGD("%s: meta frame_number = %d, capture_time = %lld",
+                        __func__, result.frame_number, current_capture_time);
                 free_camera_metadata((camera_metadata_t *)result.result);
                 delete[] result_buffers;
             } else {
                 mCallbackOps->process_capture_result(mCallbackOps, &result);
-                ALOGE("%s: meta frame_number = %d, capture_time = %lld", __func__,
-                        result.frame_number, current_capture_time);
+                ALOGD("%s: meta frame_number = %d, capture_time = %lld",
+                        __func__, result.frame_number, current_capture_time);
                 free_camera_metadata((camera_metadata_t *)result.result);
             }
             // erase the element from the list
@@ -1027,7 +1023,7 @@
             result.frame_number = frame_number;
             result.num_output_buffers = 1;
             result.output_buffers = buffer;
-            ALOGE("%s: result frame_number = %d, buffer = %p",
+            ALOGD("%s: result frame_number = %d, buffer = %p",
                     __func__, frame_number, buffer);
             mPendingBuffersMap.editValueFor(buffer->stream)--;
             mCallbackOps->process_capture_result(mCallbackOps, &result);
@@ -1041,7 +1037,7 @@
                         j->buffer = (camera3_stream_buffer_t *)malloc(
                                 sizeof(camera3_stream_buffer_t));
                         *(j->buffer) = *buffer;
-                        ALOGE("%s: cache buffer %p at result frame_number %d",
+                        ALOGD("%s: cache buffer %p at result frame_number %d",
                                 __func__, buffer, frame_number);
                     }
                 }
@@ -1921,7 +1917,6 @@
                       avail_antibanding_modes,
                       size);
 
-    ALOGE("%s: %d", __func__, __LINE__);
     static uint8_t avail_af_modes[CAM_FOCUS_MODE_MAX];
     size = 0;
     for (int i = 0; i < gCamCapability[cameraId]->supported_focus_modes_cnt; i++) {
@@ -2139,12 +2134,16 @@
                                              int len, int hal_name)
 {
 
-   for (int i = 0; i < len; i++) {
-       if (arr[i].hal_name == hal_name)
-           return arr[i].fwk_name;
+    for (int i = 0; i < len; i++) {
+        if (arr[i].hal_name == hal_name)
+            return arr[i].fwk_name;
     }
-   ALOGE("%s: Cannot find matching framework type", __func__);
-   return NAME_NOT_FOUND;
+
+    /* Not able to find matching framework type is not necessarily
+     * an error case. This happens when mm-camera supports more attributes
+     * than the frameworks do */
+    ALOGD("%s: Cannot find matching framework type", __func__);
+    return NAME_NOT_FOUND;
 }
 
 /*===========================================================================
@@ -2371,7 +2370,6 @@
         rc = translateMetadataToParameters(settings);
     }
     /*set the parameters to backend*/
-    ALOGE("%s: %d", __func__, __LINE__);
     mCameraHandle->ops->set_parms(mCameraHandle->camera_handle, mParameters);
     return rc;
 }
@@ -2820,7 +2818,7 @@
 int QCamera3HardwareInterface::initialize(const struct camera3_device *device,
                                   const camera3_callback_ops_t *callback_ops)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2829,7 +2827,7 @@
     }
 
     int rc = hw->initialize(callback_ops);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return rc;
 }
 
@@ -2850,7 +2848,7 @@
         const struct camera3_device *device,
         camera3_stream_configuration_t *stream_list)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2858,7 +2856,7 @@
         return -ENODEV;
     }
     int rc = hw->configureStreams(stream_list);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return rc;
 }
 
@@ -2875,7 +2873,7 @@
         const struct camera3_device *device,
         const camera3_stream_buffer_set_t *buffer_set)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2883,7 +2881,7 @@
         return -ENODEV;
     }
     int rc = hw->registerStreamBuffers(buffer_set);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return rc;
 }
 
@@ -2903,7 +2901,7 @@
                                         int type)
 {
 
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     camera_metadata_t* fwk_metadata = NULL;
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
@@ -2914,7 +2912,7 @@
 
     fwk_metadata = hw->translateCapabilityToMetadata(type);
 
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return fwk_metadata;
 }
 
@@ -2932,7 +2930,7 @@
                     const struct camera3_device *device,
                     camera3_capture_request_t *request)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2941,7 +2939,7 @@
     }
 
     int rc = hw->processCaptureRequest(request);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return rc;
 }
 
@@ -2960,7 +2958,7 @@
                 const struct camera3_device *device,
                 vendor_tag_query_ops_t* ops)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2969,7 +2967,7 @@
     }
 
     hw->getMetadataVendorTagOps(ops);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return;
 }
 
@@ -2987,7 +2985,7 @@
 void QCamera3HardwareInterface::dump(
                 const struct camera3_device *device, int fd)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(device->priv);
     if (!hw) {
@@ -2996,7 +2994,7 @@
     }
 
     hw->dump(fd);
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return;
 }
 
@@ -3012,7 +3010,7 @@
  *==========================================================================*/
 int QCamera3HardwareInterface::close_camera_device(struct hw_device_t* device)
 {
-    ALOGE("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     int ret = NO_ERROR;
     QCamera3HardwareInterface *hw =
         reinterpret_cast<QCamera3HardwareInterface *>(
@@ -3022,7 +3020,7 @@
         return BAD_VALUE;
     }
     delete hw;
-    ALOGE("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return ret;
 }
 
diff --git a/camera/QCamera2/HAL3/QCamera3HWI.h b/camera/QCamera2/HAL3/QCamera3HWI.h
index 0fe55aa..71a9fa5 100644
--- a/camera/QCamera2/HAL3/QCamera3HWI.h
+++ b/camera/QCamera2/HAL3/QCamera3HWI.h
@@ -179,7 +179,6 @@
         uint32_t frame_number;
         uint32_t num_buffers;
         List<RequestedBufferInfo> buffers;
-        //mm_camera_super_buf_t *metadata;
     } PendingRequestInfo;
     typedef KeyedVector<camera3_stream_t *, uint32_t> PendingBuffersMap;
 
diff --git a/camera/QCamera2/HAL3/QCamera3Mem.cpp b/camera/QCamera2/HAL3/QCamera3Mem.cpp
index a50893d..2bb10ea 100644
--- a/camera/QCamera2/HAL3/QCamera3Mem.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Mem.cpp
@@ -600,9 +600,10 @@
 {
     status_t ret = NO_ERROR;
     struct ion_fd_data ion_info_fd;
+    ALOGV(" %s : E ", __FUNCTION__);
+
     memset(&ion_info_fd, 0, sizeof(ion_info_fd));
 
-    ALOGI(" %s : E ", __FUNCTION__);
 
     if (num_buffers > MM_CAMERA_MAX_NUM_FRAMES) {
         ALOGE("%s: Number of buffers %d greater than what's supported %d",
@@ -683,7 +684,7 @@
     mBufferCount = num_buffers;
 
 end:
-    ALOGI(" %s : X ",__func__);
+    ALOGV(" %s : X ",__func__);
     return ret;
 }
 
@@ -698,7 +699,7 @@
  *==========================================================================*/
 void QCamera3GrallocMemory::unregisterBuffers()
 {
-    ALOGI("%s: E ", __FUNCTION__);
+    ALOGV("%s: E ", __FUNCTION__);
 
     for (int cnt = 0; cnt < mBufferCount; cnt++) {
         munmap(mPtr[cnt], mMemInfo[cnt].size);
@@ -714,7 +715,7 @@
         ALOGD("put buffer %d successfully", cnt);
     }
     mBufferCount = 0;
-    ALOGI(" %s : X ",__FUNCTION__);
+    ALOGV(" %s : X ",__FUNCTION__);
 }
 
 /*===========================================================================
diff --git a/camera/QCamera2/HAL3/QCamera3PostProc.cpp b/camera/QCamera2/HAL3/QCamera3PostProc.cpp
index 8291584..236f170 100644
--- a/camera/QCamera2/HAL3/QCamera3PostProc.cpp
+++ b/camera/QCamera2/HAL3/QCamera3PostProc.cpp
@@ -129,7 +129,7 @@
 
     if(mJpegClientHandle > 0) {
         int rc = mJpegHandle.close(mJpegClientHandle);
-        ALOGE("%s: Jpeg closed, rc = %d, mJpegClientHandle = %x",
+        ALOGD("%s: Jpeg closed, rc = %d, mJpegClientHandle = %x",
               __func__, rc, mJpegClientHandle);
         mJpegClientHandle = 0;
         memset(&mJpegHandle, 0, sizeof(mJpegHandle));
@@ -692,14 +692,14 @@
         return UNKNOWN_ERROR;
     }
 
-    ALOGE("%s: Need new session?:%d",__func__, needNewSess);
+    ALOGD("%s: Need new session?:%d",__func__, needNewSess);
     if (needNewSess) {
         // create jpeg encoding session
         mm_jpeg_encode_params_t encodeParam;
         memset(&encodeParam, 0, sizeof(mm_jpeg_encode_params_t));
 
         getJpegEncodingConfig(encodeParam, main_stream, thumb_stream);
-        ALOGE("%s: #src bufs:%d # tmb bufs:%d #dst_bufs:%d", __func__,
+        ALOGD("%s: #src bufs:%d # tmb bufs:%d #dst_bufs:%d", __func__,
                      encodeParam.num_src_bufs,encodeParam.num_tmb_bufs,encodeParam.num_dst_bufs);
         ret = mJpegHandle.create_session(mJpegClientHandle, &encodeParam, &mJpegSessionId);
         if (ret != NO_ERROR) {
@@ -731,7 +731,7 @@
     jpg_job.encode_job.main_dim.crop = crop;
 
     // thumbnail dim
-    ALOGE("%s: Thumbnail needed:%d",__func__, m_bThumbnailNeeded);
+    ALOGD("%s: Thumbnail needed:%d",__func__, m_bThumbnailNeeded);
     if (m_bThumbnailNeeded == TRUE) {
         if (thumb_stream == NULL) {
             // need jpeg thumbnail, but no postview/preview stream exists
@@ -791,7 +791,7 @@
         jpeg_job_data->jobId = jobId;
     }
 
-    ALOGD("%s : X", __func__);
+    ALOGV("%s : X", __func__);
     return ret;
 }
 
@@ -813,10 +813,10 @@
     int ret;
     uint8_t is_active = FALSE;
     uint8_t needNewSess = TRUE;
+    ALOGV("%s: E", __func__);
     QCamera3PostProcessor *pme = (QCamera3PostProcessor *)data;
     QCameraCmdThread *cmdThread = &pme->m_dataProcTh;
 
-    ALOGD("%s: E", __func__);
     do {
         do {
             ret = cam_sem_wait(&cmdThread->cmd_sem);
@@ -960,7 +960,7 @@
             break;
         }
     } while (running);
-    ALOGD("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return NULL;
 }
 
diff --git a/camera/QCamera2/HAL3/QCamera3Stream.cpp b/camera/QCamera2/HAL3/QCamera3Stream.cpp
index 6d68018..6e8073f 100644
--- a/camera/QCamera2/HAL3/QCamera3Stream.cpp
+++ b/camera/QCamera2/HAL3/QCamera3Stream.cpp
@@ -285,7 +285,7 @@
     switch(streamType) {
         case CAM_STREAM_TYPE_SNAPSHOT:
             stream_config.stream_cb = NULL;
-            ALOGE("%s: disabling stream_cb for snapshot", __func__);
+            ALOGI("%s: disabling stream_cb for snapshot", __func__);
             break;
         default:
             stream_config.stream_cb = dataNotifyCB;
@@ -372,9 +372,11 @@
  *==========================================================================*/
 int32_t QCamera3Stream::processDataNotify(mm_camera_super_buf_t *frame)
 {
-    ALOGI("%s:\n", __func__);
+    ALOGV("%s: E\n", __func__);
     mDataQ.enqueue((void *)frame);
-    return mProcTh.sendCmd(CAMERA_CMD_TYPE_DO_NEXT_JOB, FALSE, FALSE);
+    int32_t rc = mProcTh.sendCmd(CAMERA_CMD_TYPE_DO_NEXT_JOB, FALSE, FALSE);
+    ALOGV("%s: X\n", __func__);
+    return rc;
 }
 
 /*===========================================================================
@@ -392,7 +394,7 @@
 void QCamera3Stream::dataNotifyCB(mm_camera_super_buf_t *recvd_frame,
                                  void *userdata)
 {
-    ALOGI("%s:\n", __func__);
+    ALOGV("%s: E\n", __func__);
     QCamera3Stream* stream = (QCamera3Stream *)userdata;
     if (stream == NULL ||
         recvd_frame == NULL ||
@@ -431,7 +433,7 @@
     QCamera3Stream *pme = (QCamera3Stream *)data;
     QCameraCmdThread *cmdThread = &pme->mProcTh;
 
-    ALOGI("%s: E", __func__);
+    ALOGV("%s: E", __func__);
     do {
         do {
             ret = cam_sem_wait(&cmdThread->cmd_sem);
@@ -471,7 +473,7 @@
             break;
         }
     } while (running);
-    ALOGD("%s: X", __func__);
+    ALOGV("%s: X", __func__);
     return NULL;
 }
 
@@ -564,7 +566,7 @@
 
     mBufDefs = (mm_camera_buf_def_t *)malloc(mNumBufs * sizeof(mm_camera_buf_def_t));
     if (mBufDefs == NULL) {
-        ALOGE("%s: getRegFlags failed %d", __func__, rc);
+        ALOGE("%s: Failed to allocate mm_camera_buf_def_t %d", __func__, rc);
         for (int i = 0; i < mNumBufs; i++) {
             ops_tbl->unmap_ops(i, -1, ops_tbl->userdata);
         }
@@ -802,7 +804,6 @@
     return mCamOps->unmap_stream_buf(mCamHandle, mChannelHandle,
                                      mHandle, buf_type,
                                      buf_idx, plane_idx);
-
 }
 
 /*===========================================================================
diff --git a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
index 8c61c42..f938959 100644
--- a/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
+++ b/camera/QCamera2/stack/mm-camera-interface/src/mm_camera_stream.c
@@ -975,7 +975,7 @@
         buf_info->buf->frame_idx = vb.sequence;
         buf_info->buf->ts.tv_sec  = vb.timestamp.tv_sec;
         buf_info->buf->ts.tv_nsec = vb.timestamp.tv_usec * 1000;
-        CDBG("%s: VIDIOC_DQBUF buf_index %d, frame_idx %d, stream type %d\n",
+        CDBG_HIGH("%s: VIDIOC_DQBUF buf_index %d, frame_idx %d, stream type %d\n",
              __func__, vb.index, buf_info->buf->frame_idx, my_obj->stream_info->stream_type);
         if ( NULL != my_obj->mem_vtbl.clean_invalidate_buf ) {
             rc = my_obj->mem_vtbl.clean_invalidate_buf(idx,