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, ¬ify_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,