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

Commit ca05a87f authored by Jean-Baptiste Queru's avatar Jean-Baptiste Queru
Browse files

Merge ee4618bc

Change-Id: Ie1dc6ad38e7c30636d80f6caef11cf6673144940
parents 90a60716 3812256d
Loading
Loading
Loading
Loading
+26 −26
Original line number Diff line number Diff line
@@ -70,7 +70,7 @@ Camera::Camera()
// construct a camera client from an existing camera remote
sp<Camera> Camera::create(const sp<ICamera>& camera)
{
     LOGV("create");
     ALOGV("create");
     if (camera == 0) {
         LOGE("camera remote is a NULL pointer");
         return 0;
@@ -117,7 +117,7 @@ status_t Camera::getCameraInfo(int cameraId,

sp<Camera> Camera::connect(int cameraId)
{
    LOGV("connect");
    ALOGV("connect");
    sp<Camera> c = new Camera();
    const sp<ICameraService>& cs = getCameraService();
    if (cs != 0) {
@@ -134,7 +134,7 @@ sp<Camera> Camera::connect(int cameraId)

void Camera::disconnect()
{
    LOGV("disconnect");
    ALOGV("disconnect");
    if (mCamera != 0) {
        mCamera->disconnect();
        mCamera->asBinder()->unlinkToDeath(this);
@@ -144,7 +144,7 @@ void Camera::disconnect()

status_t Camera::reconnect()
{
    LOGV("reconnect");
    ALOGV("reconnect");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->connect(this);
@@ -172,7 +172,7 @@ status_t Camera::unlock()
// pass the buffered Surface to the camera service
status_t Camera::setPreviewDisplay(const sp<Surface>& surface)
{
    LOGV("setPreviewDisplay(%p)", surface.get());
    ALOGV("setPreviewDisplay(%p)", surface.get());
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    if (surface != 0) {
@@ -186,7 +186,7 @@ status_t Camera::setPreviewDisplay(const sp<Surface>& surface)
// pass the buffered ISurfaceTexture to the camera service
status_t Camera::setPreviewTexture(const sp<ISurfaceTexture>& surfaceTexture)
{
    LOGV("setPreviewTexture(%p)", surfaceTexture.get());
    ALOGV("setPreviewTexture(%p)", surfaceTexture.get());
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    if (surfaceTexture != 0) {
@@ -200,7 +200,7 @@ status_t Camera::setPreviewTexture(const sp<ISurfaceTexture>& surfaceTexture)
// start preview mode
status_t Camera::startPreview()
{
    LOGV("startPreview");
    ALOGV("startPreview");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->startPreview();
@@ -208,7 +208,7 @@ status_t Camera::startPreview()

status_t Camera::storeMetaDataInBuffers(bool enabled)
{
    LOGV("storeMetaDataInBuffers: %s",
    ALOGV("storeMetaDataInBuffers: %s",
            enabled? "true": "false");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
@@ -218,7 +218,7 @@ status_t Camera::storeMetaDataInBuffers(bool enabled)
// start recording mode, must call setPreviewDisplay first
status_t Camera::startRecording()
{
    LOGV("startRecording");
    ALOGV("startRecording");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->startRecording();
@@ -227,7 +227,7 @@ status_t Camera::startRecording()
// stop preview mode
void Camera::stopPreview()
{
    LOGV("stopPreview");
    ALOGV("stopPreview");
    sp <ICamera> c = mCamera;
    if (c == 0) return;
    c->stopPreview();
@@ -236,7 +236,7 @@ void Camera::stopPreview()
// stop recording mode
void Camera::stopRecording()
{
    LOGV("stopRecording");
    ALOGV("stopRecording");
    {
        Mutex::Autolock _l(mLock);
        mRecordingProxyListener.clear();
@@ -249,7 +249,7 @@ void Camera::stopRecording()
// release a recording frame
void Camera::releaseRecordingFrame(const sp<IMemory>& mem)
{
    LOGV("releaseRecordingFrame");
    ALOGV("releaseRecordingFrame");
    sp <ICamera> c = mCamera;
    if (c == 0) return;
    c->releaseRecordingFrame(mem);
@@ -258,7 +258,7 @@ void Camera::releaseRecordingFrame(const sp<IMemory>& mem)
// get preview state
bool Camera::previewEnabled()
{
    LOGV("previewEnabled");
    ALOGV("previewEnabled");
    sp <ICamera> c = mCamera;
    if (c == 0) return false;
    return c->previewEnabled();
@@ -267,7 +267,7 @@ bool Camera::previewEnabled()
// get recording state
bool Camera::recordingEnabled()
{
    LOGV("recordingEnabled");
    ALOGV("recordingEnabled");
    sp <ICamera> c = mCamera;
    if (c == 0) return false;
    return c->recordingEnabled();
@@ -275,7 +275,7 @@ bool Camera::recordingEnabled()

status_t Camera::autoFocus()
{
    LOGV("autoFocus");
    ALOGV("autoFocus");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->autoFocus();
@@ -283,7 +283,7 @@ status_t Camera::autoFocus()

status_t Camera::cancelAutoFocus()
{
    LOGV("cancelAutoFocus");
    ALOGV("cancelAutoFocus");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->cancelAutoFocus();
@@ -292,7 +292,7 @@ status_t Camera::cancelAutoFocus()
// take a picture
status_t Camera::takePicture(int msgType)
{
    LOGV("takePicture: 0x%x", msgType);
    ALOGV("takePicture: 0x%x", msgType);
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->takePicture(msgType);
@@ -301,7 +301,7 @@ status_t Camera::takePicture(int msgType)
// set preview/capture parameters - key/value pairs
status_t Camera::setParameters(const String8& params)
{
    LOGV("setParameters");
    ALOGV("setParameters");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->setParameters(params);
@@ -310,7 +310,7 @@ status_t Camera::setParameters(const String8& params)
// get preview/capture parameters - key/value pairs
String8 Camera::getParameters() const
{
    LOGV("getParameters");
    ALOGV("getParameters");
    String8 params;
    sp <ICamera> c = mCamera;
    if (c != 0) params = mCamera->getParameters();
@@ -320,7 +320,7 @@ String8 Camera::getParameters() const
// send command to camera driver
status_t Camera::sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
{
    LOGV("sendCommand");
    ALOGV("sendCommand");
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    return c->sendCommand(cmd, arg1, arg2);
@@ -340,7 +340,7 @@ void Camera::setRecordingProxyListener(const sp<ICameraRecordingProxyListener>&

void Camera::setPreviewCallbackFlags(int flag)
{
    LOGV("setPreviewCallbackFlags");
    ALOGV("setPreviewCallbackFlags");
    sp <ICamera> c = mCamera;
    if (c == 0) return;
    mCamera->setPreviewCallbackFlag(flag);
@@ -408,20 +408,20 @@ void Camera::binderDied(const wp<IBinder>& who) {
}

void Camera::DeathNotifier::binderDied(const wp<IBinder>& who) {
    LOGV("binderDied");
    ALOGV("binderDied");
    Mutex::Autolock _l(Camera::mLock);
    Camera::mCameraService.clear();
    LOGW("Camera server died!");
}

sp<ICameraRecordingProxy> Camera::getRecordingProxy() {
    LOGV("getProxy");
    ALOGV("getProxy");
    return new RecordingProxy(this);
}

status_t Camera::RecordingProxy::startRecording(const sp<ICameraRecordingProxyListener>& listener)
{
    LOGV("RecordingProxy::startRecording");
    ALOGV("RecordingProxy::startRecording");
    mCamera->setRecordingProxyListener(listener);
    mCamera->reconnect();
    return mCamera->startRecording();
@@ -429,13 +429,13 @@ status_t Camera::RecordingProxy::startRecording(const sp<ICameraRecordingProxyLi

void Camera::RecordingProxy::stopRecording()
{
    LOGV("RecordingProxy::stopRecording");
    ALOGV("RecordingProxy::stopRecording");
    mCamera->stopRecording();
}

void Camera::RecordingProxy::releaseRecordingFrame(const sp<IMemory>& mem)
{
    LOGV("RecordingProxy::releaseRecordingFrame");
    ALOGV("RecordingProxy::releaseRecordingFrame");
    mCamera->releaseRecordingFrame(mem);
}

+36 −36
Original line number Diff line number Diff line
@@ -60,7 +60,7 @@ public:
    // disconnect from camera service
    void disconnect()
    {
        LOGV("disconnect");
        ALOGV("disconnect");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(DISCONNECT, data, &reply);
@@ -69,7 +69,7 @@ public:
    // pass the buffered Surface to the camera service
    status_t setPreviewDisplay(const sp<Surface>& surface)
    {
        LOGV("setPreviewDisplay");
        ALOGV("setPreviewDisplay");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        Surface::writeToParcel(surface, &data);
@@ -80,7 +80,7 @@ public:
    // pass the buffered SurfaceTexture to the camera service
    status_t setPreviewTexture(const sp<ISurfaceTexture>& surfaceTexture)
    {
        LOGV("setPreviewTexture");
        ALOGV("setPreviewTexture");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        sp<IBinder> b(surfaceTexture->asBinder());
@@ -93,7 +93,7 @@ public:
    // preview are handled. See Camera.h for details.
    void setPreviewCallbackFlag(int flag)
    {
        LOGV("setPreviewCallbackFlag(%d)", flag);
        ALOGV("setPreviewCallbackFlag(%d)", flag);
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeInt32(flag);
@@ -103,7 +103,7 @@ public:
    // start preview mode, must call setPreviewDisplay first
    status_t startPreview()
    {
        LOGV("startPreview");
        ALOGV("startPreview");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(START_PREVIEW, data, &reply);
@@ -113,7 +113,7 @@ public:
    // start recording mode, must call setPreviewDisplay first
    status_t startRecording()
    {
        LOGV("startRecording");
        ALOGV("startRecording");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(START_RECORDING, data, &reply);
@@ -123,7 +123,7 @@ public:
    // stop preview mode
    void stopPreview()
    {
        LOGV("stopPreview");
        ALOGV("stopPreview");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(STOP_PREVIEW, data, &reply);
@@ -132,7 +132,7 @@ public:
    // stop recording mode
    void stopRecording()
    {
        LOGV("stopRecording");
        ALOGV("stopRecording");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(STOP_RECORDING, data, &reply);
@@ -140,7 +140,7 @@ public:

    void releaseRecordingFrame(const sp<IMemory>& mem)
    {
        LOGV("releaseRecordingFrame");
        ALOGV("releaseRecordingFrame");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeStrongBinder(mem->asBinder());
@@ -149,7 +149,7 @@ public:

    status_t storeMetaDataInBuffers(bool enabled)
    {
        LOGV("storeMetaDataInBuffers: %s", enabled? "true": "false");
        ALOGV("storeMetaDataInBuffers: %s", enabled? "true": "false");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeInt32(enabled);
@@ -160,7 +160,7 @@ public:
    // check preview state
    bool previewEnabled()
    {
        LOGV("previewEnabled");
        ALOGV("previewEnabled");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(PREVIEW_ENABLED, data, &reply);
@@ -170,7 +170,7 @@ public:
    // check recording state
    bool recordingEnabled()
    {
        LOGV("recordingEnabled");
        ALOGV("recordingEnabled");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(RECORDING_ENABLED, data, &reply);
@@ -180,7 +180,7 @@ public:
    // auto focus
    status_t autoFocus()
    {
        LOGV("autoFocus");
        ALOGV("autoFocus");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(AUTO_FOCUS, data, &reply);
@@ -191,7 +191,7 @@ public:
    // cancel focus
    status_t cancelAutoFocus()
    {
        LOGV("cancelAutoFocus");
        ALOGV("cancelAutoFocus");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(CANCEL_AUTO_FOCUS, data, &reply);
@@ -202,7 +202,7 @@ public:
    // take a picture - returns an IMemory (ref-counted mmap)
    status_t takePicture(int msgType)
    {
        LOGV("takePicture: 0x%x", msgType);
        ALOGV("takePicture: 0x%x", msgType);
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeInt32(msgType);
@@ -214,7 +214,7 @@ public:
    // set preview/capture parameters - key/value pairs
    status_t setParameters(const String8& params)
    {
        LOGV("setParameters");
        ALOGV("setParameters");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeString8(params);
@@ -225,7 +225,7 @@ public:
    // get preview/capture parameters - key/value pairs
    String8 getParameters() const
    {
        LOGV("getParameters");
        ALOGV("getParameters");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        remote()->transact(GET_PARAMETERS, data, &reply);
@@ -233,7 +233,7 @@ public:
    }
    virtual status_t sendCommand(int32_t cmd, int32_t arg1, int32_t arg2)
    {
        LOGV("sendCommand");
        ALOGV("sendCommand");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        data.writeInt32(cmd);
@@ -275,116 +275,116 @@ status_t BnCamera::onTransact(
{
    switch(code) {
        case DISCONNECT: {
            LOGV("DISCONNECT");
            ALOGV("DISCONNECT");
            CHECK_INTERFACE(ICamera, data, reply);
            disconnect();
            return NO_ERROR;
        } break;
        case SET_PREVIEW_DISPLAY: {
            LOGV("SET_PREVIEW_DISPLAY");
            ALOGV("SET_PREVIEW_DISPLAY");
            CHECK_INTERFACE(ICamera, data, reply);
            sp<Surface> surface = Surface::readFromParcel(data);
            reply->writeInt32(setPreviewDisplay(surface));
            return NO_ERROR;
        } break;
        case SET_PREVIEW_TEXTURE: {
            LOGV("SET_PREVIEW_TEXTURE");
            ALOGV("SET_PREVIEW_TEXTURE");
            CHECK_INTERFACE(ICamera, data, reply);
            sp<ISurfaceTexture> st = interface_cast<ISurfaceTexture>(data.readStrongBinder());
            reply->writeInt32(setPreviewTexture(st));
            return NO_ERROR;
        } break;
        case SET_PREVIEW_CALLBACK_FLAG: {
            LOGV("SET_PREVIEW_CALLBACK_TYPE");
            ALOGV("SET_PREVIEW_CALLBACK_TYPE");
            CHECK_INTERFACE(ICamera, data, reply);
            int callback_flag = data.readInt32();
            setPreviewCallbackFlag(callback_flag);
            return NO_ERROR;
        } break;
        case START_PREVIEW: {
            LOGV("START_PREVIEW");
            ALOGV("START_PREVIEW");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(startPreview());
            return NO_ERROR;
        } break;
        case START_RECORDING: {
            LOGV("START_RECORDING");
            ALOGV("START_RECORDING");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(startRecording());
            return NO_ERROR;
        } break;
        case STOP_PREVIEW: {
            LOGV("STOP_PREVIEW");
            ALOGV("STOP_PREVIEW");
            CHECK_INTERFACE(ICamera, data, reply);
            stopPreview();
            return NO_ERROR;
        } break;
        case STOP_RECORDING: {
            LOGV("STOP_RECORDING");
            ALOGV("STOP_RECORDING");
            CHECK_INTERFACE(ICamera, data, reply);
            stopRecording();
            return NO_ERROR;
        } break;
        case RELEASE_RECORDING_FRAME: {
            LOGV("RELEASE_RECORDING_FRAME");
            ALOGV("RELEASE_RECORDING_FRAME");
            CHECK_INTERFACE(ICamera, data, reply);
            sp<IMemory> mem = interface_cast<IMemory>(data.readStrongBinder());
            releaseRecordingFrame(mem);
            return NO_ERROR;
        } break;
        case STORE_META_DATA_IN_BUFFERS: {
            LOGV("STORE_META_DATA_IN_BUFFERS");
            ALOGV("STORE_META_DATA_IN_BUFFERS");
            CHECK_INTERFACE(ICamera, data, reply);
            bool enabled = data.readInt32();
            reply->writeInt32(storeMetaDataInBuffers(enabled));
            return NO_ERROR;
        } break;
        case PREVIEW_ENABLED: {
            LOGV("PREVIEW_ENABLED");
            ALOGV("PREVIEW_ENABLED");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(previewEnabled());
            return NO_ERROR;
        } break;
        case RECORDING_ENABLED: {
            LOGV("RECORDING_ENABLED");
            ALOGV("RECORDING_ENABLED");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(recordingEnabled());
            return NO_ERROR;
        } break;
        case AUTO_FOCUS: {
            LOGV("AUTO_FOCUS");
            ALOGV("AUTO_FOCUS");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(autoFocus());
            return NO_ERROR;
        } break;
        case CANCEL_AUTO_FOCUS: {
            LOGV("CANCEL_AUTO_FOCUS");
            ALOGV("CANCEL_AUTO_FOCUS");
            CHECK_INTERFACE(ICamera, data, reply);
            reply->writeInt32(cancelAutoFocus());
            return NO_ERROR;
        } break;
        case TAKE_PICTURE: {
            LOGV("TAKE_PICTURE");
            ALOGV("TAKE_PICTURE");
            CHECK_INTERFACE(ICamera, data, reply);
            int msgType = data.readInt32();
            reply->writeInt32(takePicture(msgType));
            return NO_ERROR;
        } break;
        case SET_PARAMETERS: {
            LOGV("SET_PARAMETERS");
            ALOGV("SET_PARAMETERS");
            CHECK_INTERFACE(ICamera, data, reply);
            String8 params(data.readString8());
            reply->writeInt32(setParameters(params));
            return NO_ERROR;
         } break;
        case GET_PARAMETERS: {
            LOGV("GET_PARAMETERS");
            ALOGV("GET_PARAMETERS");
            CHECK_INTERFACE(ICamera, data, reply);
             reply->writeString8(getParameters());
            return NO_ERROR;
         } break;
        case SEND_COMMAND: {
            LOGV("SEND_COMMAND");
            ALOGV("SEND_COMMAND");
            CHECK_INTERFACE(ICamera, data, reply);
            int command = data.readInt32();
            int arg1 = data.readInt32();
+6 −6
Original line number Diff line number Diff line
@@ -41,7 +41,7 @@ public:
    // generic callback from camera service to app
    void notifyCallback(int32_t msgType, int32_t ext1, int32_t ext2)
    {
        LOGV("notifyCallback");
        ALOGV("notifyCallback");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
        data.writeInt32(msgType);
@@ -54,7 +54,7 @@ public:
    void dataCallback(int32_t msgType, const sp<IMemory>& imageData,
                      camera_frame_metadata_t *metadata)
    {
        LOGV("dataCallback");
        ALOGV("dataCallback");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
        data.writeInt32(msgType);
@@ -69,7 +69,7 @@ public:
    // generic data callback from camera service to app with image data
    void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& imageData)
    {
        LOGV("dataCallback");
        ALOGV("dataCallback");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraClient::getInterfaceDescriptor());
        data.writeInt64(timestamp);
@@ -88,7 +88,7 @@ status_t BnCameraClient::onTransact(
{
    switch(code) {
        case NOTIFY_CALLBACK: {
            LOGV("NOTIFY_CALLBACK");
            ALOGV("NOTIFY_CALLBACK");
            CHECK_INTERFACE(ICameraClient, data, reply);
            int32_t msgType = data.readInt32();
            int32_t ext1 = data.readInt32();
@@ -97,7 +97,7 @@ status_t BnCameraClient::onTransact(
            return NO_ERROR;
        } break;
        case DATA_CALLBACK: {
            LOGV("DATA_CALLBACK");
            ALOGV("DATA_CALLBACK");
            CHECK_INTERFACE(ICameraClient, data, reply);
            int32_t msgType = data.readInt32();
            sp<IMemory> imageData = interface_cast<IMemory>(data.readStrongBinder());
@@ -113,7 +113,7 @@ status_t BnCameraClient::onTransact(
            return NO_ERROR;
        } break;
        case DATA_CALLBACK_TIMESTAMP: {
            LOGV("DATA_CALLBACK_TIMESTAMP");
            ALOGV("DATA_CALLBACK_TIMESTAMP");
            CHECK_INTERFACE(ICameraClient, data, reply);
            nsecs_t timestamp = data.readInt64();
            int32_t msgType = data.readInt32();
+6 −6
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ public:

    status_t startRecording(const sp<ICameraRecordingProxyListener>& listener)
    {
        LOGV("startRecording");
        ALOGV("startRecording");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
        data.writeStrongBinder(listener->asBinder());
@@ -52,7 +52,7 @@ public:

    void stopRecording()
    {
        LOGV("stopRecording");
        ALOGV("stopRecording");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
        remote()->transact(STOP_RECORDING, data, &reply);
@@ -60,7 +60,7 @@ public:

    void releaseRecordingFrame(const sp<IMemory>& mem)
    {
        LOGV("releaseRecordingFrame");
        ALOGV("releaseRecordingFrame");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraRecordingProxy::getInterfaceDescriptor());
        data.writeStrongBinder(mem->asBinder());
@@ -77,7 +77,7 @@ status_t BnCameraRecordingProxy::onTransact(
{
    switch(code) {
        case START_RECORDING: {
            LOGV("START_RECORDING");
            ALOGV("START_RECORDING");
            CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
            sp<ICameraRecordingProxyListener> listener =
                interface_cast<ICameraRecordingProxyListener>(data.readStrongBinder());
@@ -85,13 +85,13 @@ status_t BnCameraRecordingProxy::onTransact(
            return NO_ERROR;
        } break;
        case STOP_RECORDING: {
            LOGV("STOP_RECORDING");
            ALOGV("STOP_RECORDING");
            CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
            stopRecording();
            return NO_ERROR;
        } break;
        case RELEASE_RECORDING_FRAME: {
            LOGV("RELEASE_RECORDING_FRAME");
            ALOGV("RELEASE_RECORDING_FRAME");
            CHECK_INTERFACE(ICameraRecordingProxy, data, reply);
            sp<IMemory> mem = interface_cast<IMemory>(data.readStrongBinder());
            releaseRecordingFrame(mem);
+2 −2
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public:

    void dataCallbackTimestamp(nsecs_t timestamp, int32_t msgType, const sp<IMemory>& imageData)
    {
        LOGV("dataCallback");
        ALOGV("dataCallback");
        Parcel data, reply;
        data.writeInterfaceToken(ICameraRecordingProxyListener::getInterfaceDescriptor());
        data.writeInt64(timestamp);
@@ -56,7 +56,7 @@ status_t BnCameraRecordingProxyListener::onTransact(
{
    switch(code) {
        case DATA_CALLBACK_TIMESTAMP: {
            LOGV("DATA_CALLBACK_TIMESTAMP");
            ALOGV("DATA_CALLBACK_TIMESTAMP");
            CHECK_INTERFACE(ICameraRecordingProxyListener, data, reply);
            nsecs_t timestamp = data.readInt64();
            int32_t msgType = data.readInt32();
Loading