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

Commit cfab4e16 authored by Yin-Chia Yeh's avatar Yin-Chia Yeh
Browse files

Camera: update camera audio restriction API

Add dedicated get API for API review feedback.

Test: updated CTS pass
Bug: 140524714
Change-Id: I0559e24d6d9f4a2d9db6c0b6035eaf49bd41d950
parent 5f5ee1cc
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -347,13 +347,20 @@ status_t Camera::setPreviewCallbackTarget(
    return c->setPreviewCallbackTarget(callbackProducer);
}

int32_t Camera::setAudioRestriction(int32_t mode)
status_t Camera::setAudioRestriction(int32_t mode)
{
    sp <::android::hardware::ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->setAudioRestriction(mode);
}

int32_t Camera::getGlobalAudioRestriction()
{
    sp <::android::hardware::ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->getGlobalAudioRestriction();
}

// callback from camera service
void Camera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
{
+14 −1
Original line number Diff line number Diff line
@@ -57,6 +57,7 @@ enum {
    RELEASE_RECORDING_FRAME_HANDLE,
    RELEASE_RECORDING_FRAME_HANDLE_BATCH,
    SET_AUDIO_RESTRICTION,
    GET_GLOBAL_AUDIO_RESTRICTION,
};

class BpCamera: public BpInterface<ICamera>
@@ -192,7 +193,7 @@ public:
        }
    }

    int32_t setAudioRestriction(int32_t mode) {
    status_t setAudioRestriction(int32_t mode) {
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeInt32(mode);
@@ -200,6 +201,13 @@ public:
        return reply.readInt32();
    }

    int32_t getGlobalAudioRestriction() {
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(GET_GLOBAL_AUDIO_RESTRICTION, data, &reply);
        return reply.readInt32();
    }

    status_t setVideoBufferMode(int32_t videoBufferMode)
    {
        ALOGV("setVideoBufferMode: %d", videoBufferMode);
@@ -509,6 +517,11 @@ status_t BnCamera::onTransact(
            reply->writeInt32(setAudioRestriction(mode));
            return NO_ERROR;
        } break;
        case GET_GLOBAL_AUDIO_RESTRICTION: {
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(getGlobalAudioRestriction());
            return NO_ERROR;
        } break;
        default:
            return BBinder::onTransact(code, data, reply, flags);
    }
+8 −2
Original line number Diff line number Diff line
@@ -168,7 +168,13 @@ interface ICameraDeviceUser
      *
      * @param mode the audio restriction mode ID as above
      *
      * @return the resulting system-wide audio restriction mode
      */
    int setCameraAudioRestriction(int mode);
    void setCameraAudioRestriction(int mode);

    /**
      * Get global audio restriction mode for all camera clients.
      *
      * @return the currently applied system-wide audio restriction mode
      */
    int getGlobalAudioRestriction();
}
+2 −1
Original line number Diff line number Diff line
@@ -167,7 +167,8 @@ public:

            sp<ICameraRecordingProxy> getRecordingProxy();

            int32_t      setAudioRestriction(int32_t mode);
            status_t     setAudioRestriction(int32_t mode);
            int32_t      getGlobalAudioRestriction();

    // ICameraClient interface
    virtual void        notifyCallback(int32_t msgType, int32_t ext, int32_t ext2);
+4 −1
Original line number Diff line number Diff line
@@ -142,7 +142,10 @@ public:
            const sp<IGraphicBufferProducer>& bufferProducer) = 0;

    // Set the audio restriction mode
    virtual int32_t         setAudioRestriction(int32_t mode) = 0;
    virtual status_t        setAudioRestriction(int32_t mode) = 0;

    // Get the global audio restriction mode
    virtual int32_t         getGlobalAudioRestriction() = 0;
};

// ----------------------------------------------------------------------------
Loading