Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6e0b0ac authored by Steve Kondik's avatar Steve Kondik
Browse files

camera: Add flag to leave preview metadata alone

 * This causes severe problems on a certain camera.

Change-Id: I5adaef00bba2eaa3cab09452ad7ed46e24ac5364
parent d83e4757
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -89,7 +89,7 @@ status_t CameraClient::initialize(camera_module_t *module) {

    // Enable zoom, error, focus, and metadata messages by default
    enableMsgType(CAMERA_MSG_ERROR | CAMERA_MSG_ZOOM | CAMERA_MSG_FOCUS
#ifndef QCOM_HARDWARE
#if !defined(QCOM_HARDWARE) || defined(CAMERA_ALL_MSGS)
                  | CAMERA_MSG_PREVIEW_METADATA 
#endif
#ifndef OMAP_ICS_CAMERA
@@ -357,7 +357,7 @@ void CameraClient::setPreviewCallbackFlag(int callback_flag) {

// start preview mode
status_t CameraClient::startPreview() {
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) || !defined(CAMERA_ALL_MSGS)
    enableMsgType(CAMERA_MSG_PREVIEW_METADATA);
#endif
    LOG1("startPreview (pid %d)", getCallingPid());
@@ -451,7 +451,7 @@ status_t CameraClient::startRecordingMode() {
// stop preview mode
void CameraClient::stopPreview() {
    LOG1("stopPreview (pid %d)", getCallingPid());
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) && !defined(CAMERA_ALL_MSGS)
    disableMsgType(CAMERA_MSG_PREVIEW_METADATA);
#endif
    Mutex::Autolock lock(mLock);
@@ -469,7 +469,7 @@ void CameraClient::stopPreview() {
#endif

    disableMsgType(CAMERA_MSG_PREVIEW_FRAME);
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) && !defined(CAMERA_ALL_MSGS)
    //Disable picture related message types
    ALOGI("stopPreview: Disable picture related messages");
    int picMsgType = 0;
@@ -492,7 +492,7 @@ void CameraClient::stopRecording() {
    if (checkPidAndHardware() != NO_ERROR) return;

    disableMsgType(CAMERA_MSG_VIDEO_FRAME);
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) && !defined(CAMERA_ALL_MSGS)
    //Disable picture related message types
    ALOGI("stopRecording: Disable picture related messages");
    int picMsgType = 0;
@@ -592,7 +592,7 @@ status_t CameraClient::takePicture(int msgType) {
#if defined(OMAP_ICS_CAMERA) || defined(OMAP_ENHANCEMENT_BURST_CAPTURE)
    picMsgType |= CAMERA_MSG_COMPRESSED_BURST_IMAGE;
#endif
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) && !defined(CAMERA_ALL_MSGS)
    disableMsgType(CAMERA_MSG_PREVIEW_METADATA);
#endif
    enableMsgType(picMsgType);
@@ -732,7 +732,7 @@ void CameraClient::disableMsgType(int32_t msgType) {
bool CameraClient::lockIfMessageWanted(int32_t msgType) {
    int sleepCount = 0;
    while (mMsgEnabled & msgType) {
#ifdef QCOM_HARDWARE
#if defined(QCOM_HARDWARE) && !defined(CAMERA_ALL_MSGS)
        if ((msgType == CAMERA_MSG_PREVIEW_FRAME) &&
              (mMsgEnabled & CAMERA_MSG_COMPRESSED_IMAGE)) {
           LOG1("lockIfMessageWanted(%d): Don't try to acquire mlock if "