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

Commit 7cf9a7e7 authored by Igor Murashkin's avatar Igor Murashkin
Browse files

(Camera)ProCamera: Remove unused functions from binder interface

Change-Id: I0582268cef6e84b630bc87c8a03dcd69d54c440d
parent 71381051
Loading
Loading
Loading
Loading
+17 −2
Original line number Diff line number Diff line
@@ -283,7 +283,14 @@ void Camera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
void Camera::dataCallback(int32_t msgType, const sp<IMemory>& dataPtr,
                          camera_frame_metadata_t *metadata)
{
    return CameraBaseT::dataCallback(msgType, dataPtr, metadata);
    sp<CameraListener> listener;
    {
        Mutex::Autolock _l(mLock);
        listener = mListener;
    }
    if (listener != NULL) {
        listener->postData(msgType, dataPtr, metadata);
    }
}

// callback from camera service when timestamped frame is ready
@@ -302,7 +309,15 @@ void Camera::dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<
        return;
    }

    if (!CameraBaseT::dataCallbackTimestamp(timestamp, msgType, dataPtr)) {
    sp<CameraListener> listener;
    {
        Mutex::Autolock _l(mLock);
        listener = mListener;
    }

    if (listener != NULL) {
        listener->postDataTimestamp(timestamp, msgType, dataPtr);
    } else {
        ALOGW("No listener was set. Drop a recording frame.");
        releaseRecordingFrame(dataPtr);
    }
+0 −35
Original line number Diff line number Diff line
@@ -176,41 +176,6 @@ void CameraBase<TCam, TCamTraits>::notifyCallback(int32_t msgType,
    }
}

// callback from camera service when frame or image is ready
template <typename TCam, typename TCamTraits>
void CameraBase<TCam, TCamTraits>::dataCallback(int32_t msgType,
                                                const sp<IMemory>& dataPtr,
                                                camera_frame_metadata *metadata)
{
    sp<TCamListener> listener;
    {
        Mutex::Autolock _l(mLock);
        listener = mListener;
    }
    if (listener != NULL) {
        listener->postData(msgType, dataPtr, metadata);
    }
}

// callback from camera service when timestamped frame is ready
template <typename TCam, typename TCamTraits>
bool CameraBase<TCam, TCamTraits>::dataCallbackTimestamp(nsecs_t timestamp,
                                                         int32_t msgType,
                                                   const sp<IMemory>& dataPtr)
{
    sp<TCamListener> listener;
    {
        Mutex::Autolock _l(mLock);
        listener = mListener;
    }
    if (listener != NULL) {
        listener->postDataTimestamp(timestamp, msgType, dataPtr);
        return true;
    }

    return false;
}

template <typename TCam, typename TCamTraits>
int CameraBase<TCam, TCamTraits>::getNumberOfCameras() {
    const sp<ICameraService> cs = getCameraService();
+0 −60
Original line number Diff line number Diff line
@@ -34,8 +34,6 @@ namespace android {

enum {
    NOTIFY_CALLBACK = IBinder::FIRST_CALL_TRANSACTION,
    DATA_CALLBACK,
    DATA_CALLBACK_TIMESTAMP,
    LOCK_STATUS_CHANGED,
    RESULT_RECEIVED,
};
@@ -63,37 +61,6 @@ public:
        remote()->transact(NOTIFY_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY);
    }

    // generic data callback from camera service to app with image data
    void dataCallback(int32_t msgType, const sp<IMemory>& imageData,
                      camera_frame_metadata_t *metadata)
    {
        ALOGV("dataCallback");
        Parcel data, reply;
        data.writeInterfaceToken(IProCameraCallbacks::getInterfaceDescriptor());
        data.writeInt32(msgType);
        data.writeStrongBinder(imageData->asBinder());
        if (metadata) {
            data.writeInt32(metadata->number_of_faces);
            data.write(metadata->faces,
                            sizeof(camera_face_t) * metadata->number_of_faces);
        }
        remote()->transact(DATA_CALLBACK, data, &reply, IBinder::FLAG_ONEWAY);
    }

    // generic data callback from camera service to app with image data
    void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType,
                                                  const sp<IMemory>& imageData)
    {
        ALOGV("dataCallback");
        Parcel data, reply;
        data.writeInterfaceToken(IProCameraCallbacks::getInterfaceDescriptor());
        data.writeInt64(timestamp);
        data.writeInt32(msgType);
        data.writeStrongBinder(imageData->asBinder());
        remote()->transact(DATA_CALLBACK_TIMESTAMP, data, &reply,
                                                          IBinder::FLAG_ONEWAY);
    }

    void onLockStatusChanged(LockStatus newLockStatus) {
        ALOGV("onLockStatusChanged");
        Parcel data, reply;
@@ -132,33 +99,6 @@ status_t BnProCameraCallbacks::onTransact(
            notifyCallback(msgType, ext1, ext2);
            return NO_ERROR;
        } break;
        case DATA_CALLBACK: {
            ALOGV("DATA_CALLBACK");
            CHECK_INTERFACE(IProCameraCallbacks, data, reply);
            int32_t msgType = data.readInt32();
            sp<IMemory> imageData = interface_cast<IMemory>(
                                                       data.readStrongBinder());
            camera_frame_metadata_t *metadata = NULL;
            if (data.dataAvail() > 0) {
                metadata = new camera_frame_metadata_t;
                metadata->number_of_faces = data.readInt32();
                metadata->faces = (camera_face_t *) data.readInplace(
                        sizeof(camera_face_t) * metadata->number_of_faces);
            }
            dataCallback(msgType, imageData, metadata);
            if (metadata) delete metadata;
            return NO_ERROR;
        } break;
        case DATA_CALLBACK_TIMESTAMP: {
            ALOGV("DATA_CALLBACK_TIMESTAMP");
            CHECK_INTERFACE(IProCameraCallbacks, data, reply);
            nsecs_t timestamp = data.readInt64();
            int32_t msgType = data.readInt32();
            sp<IMemory> imageData = interface_cast<IMemory>(
                                                       data.readStrongBinder());
            dataCallbackTimestamp(timestamp, msgType, imageData);
            return NO_ERROR;
        } break;
        case LOCK_STATUS_CHANGED: {
            ALOGV("LOCK_STATUS_CHANGED");
            CHECK_INTERFACE(IProCameraCallbacks, data, reply);
+5 −21
Original line number Diff line number Diff line
@@ -40,8 +40,7 @@ enum {
    HAS_EXCLUSIVE_LOCK,
    SUBMIT_REQUEST,
    CANCEL_REQUEST,
    REQUEST_STREAM,
    CANCEL_STREAM,
    DELETE_STREAM,
    CREATE_STREAM,
    CREATE_DEFAULT_REQUEST,
    GET_CAMERA_INFO,
@@ -200,22 +199,13 @@ public:
        return reply.readInt32();
    }

    virtual status_t requestStream(int streamId)
    virtual status_t deleteStream(int streamId)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IProCameraUser::getInterfaceDescriptor());
        data.writeInt32(streamId);

        remote()->transact(REQUEST_STREAM, data, &reply);
        return reply.readInt32();
    }
    virtual status_t cancelStream(int streamId)
    {
        Parcel data, reply;
        data.writeInterfaceToken(IProCameraUser::getInterfaceDescriptor());
        data.writeInt32(streamId);

        remote()->transact(CANCEL_STREAM, data, &reply);
        remote()->transact(DELETE_STREAM, data, &reply);
        return reply.readInt32();
    }

@@ -334,16 +324,10 @@ status_t BnProCameraUser::onTransact(
            reply->writeInt32(cancelRequest(requestId));
            return NO_ERROR;
        } break;
        case REQUEST_STREAM: {
            CHECK_INTERFACE(IProCameraUser, data, reply);
            int streamId = data.readInt32();
            reply->writeInt32(requestStream(streamId));
            return NO_ERROR;
        } break;
        case CANCEL_STREAM: {
        case DELETE_STREAM: {
            CHECK_INTERFACE(IProCameraUser, data, reply);
            int streamId = data.readInt32();
            reply->writeInt32(cancelStream(streamId));
            reply->writeInt32(deleteStream(streamId));
            return NO_ERROR;
        } break;
        case CREATE_STREAM: {
+2 −20
Original line number Diff line number Diff line
@@ -60,21 +60,6 @@ void ProCamera::notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
    return CameraBaseT::notifyCallback(msgType, ext1, ext2);
}

// callback from camera service when frame or image is ready
void ProCamera::dataCallback(int32_t msgType, const sp<IMemory>& dataPtr,
                          camera_frame_metadata_t *metadata)
{
    return CameraBaseT::dataCallback(msgType, dataPtr, metadata);
}

// callback from camera service when timestamped frame is ready
void ProCamera::dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType,
                                   const sp<IMemory>& dataPtr)
{
    CameraBaseT::dataCallbackTimestamp(timestamp, msgType, dataPtr);
}


void ProCamera::onLockStatusChanged(
                                 IProCameraCallbacks::LockStatus newLockStatus)
{
@@ -185,7 +170,7 @@ status_t ProCamera::deleteStream(int streamId)
    sp <IProCameraUser> c = mCamera;
    if (c == 0) return NO_INIT;

    status_t s = c->cancelStream(streamId);
    status_t s = c->deleteStream(streamId);

    mStreams.removeItem(streamId);

@@ -330,10 +315,7 @@ void ProCamera::onFrameAvailable(int streamId) {
    CpuConsumer::LockedBuffer buf;

    if (listener.get() != NULL) {
        if (listener->useOnFrameAvailable()) {
        listener->onFrameAvailable(streamId, stream.cpuConsumer);
            return;
        }
    }

    // Unblock waitForFrame(id) callers
Loading