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

Commit 1ce7c34e authored by Eino-Ville Talvala's avatar Eino-Ville Talvala
Browse files

Camera1: Set preview to be asynchronous, and remove dead code

- Use the controlledByApp flag to make sure application-bound
  preview buffer queue is asynchronous as before
- Remove setPreviewDisplay in service, since it is no longer in
  the binder interface
- Rename setPreviewTexture to setPreviewTarget, to make it clear it's
  the only game in town now. Rename only on the binder level and service
  for now.

Bug: 10312644
Change-Id: Icd33a462022f9729a63dc65c69b755cb7969857e
parent 99ad37a4
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -106,7 +106,7 @@ status_t Camera::setPreviewTexture(const sp<IGraphicBufferProducer>& bufferProdu
    sp <ICamera> c = mCamera;
    if (c == 0) return NO_INIT;
    ALOGD_IF(bufferProducer == 0, "app passed NULL surface");
    return c->setPreviewTexture(bufferProducer);
    return c->setPreviewTarget(bufferProducer);
}

// start preview mode
@@ -127,7 +127,7 @@ status_t Camera::storeMetaDataInBuffers(bool enabled)
    return c->storeMetaDataInBuffers(enabled);
}

// start recording mode, must call setPreviewDisplay first
// start recording mode, must call setPreviewTexture first
status_t Camera::startRecording()
{
    ALOGV("startRecording");
+9 −9
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ namespace android {

enum {
    DISCONNECT = IBinder::FIRST_CALL_TRANSACTION,
    SET_PREVIEW_TEXTURE,
    SET_PREVIEW_TARGET,
    SET_PREVIEW_CALLBACK_FLAG,
    SET_PREVIEW_CALLBACK_TARGET,
    START_PREVIEW,
@@ -70,14 +70,14 @@ public:
    }

    // pass the buffered IGraphicBufferProducer to the camera service
    status_t setPreviewTexture(const sp<IGraphicBufferProducer>& bufferProducer)
    status_t setPreviewTarget(const sp<IGraphicBufferProducer>& bufferProducer)
    {
        ALOGV("setPreviewTexture");
        ALOGV("setPreviewTarget");
        Parcel data, reply;
        data.writeInterfaceToken(ICamera::getInterfaceDescriptor());
        sp<IBinder> b(bufferProducer->asBinder());
        data.writeStrongBinder(b);
        remote()->transact(SET_PREVIEW_TEXTURE, data, &reply);
        remote()->transact(SET_PREVIEW_TARGET, data, &reply);
        return reply.readInt32();
    }

@@ -104,7 +104,7 @@ public:
        return reply.readInt32();
    }

    // start preview mode, must call setPreviewDisplay first
    // start preview mode, must call setPreviewTarget first
    status_t startPreview()
    {
        ALOGV("startPreview");
@@ -114,7 +114,7 @@ public:
        return reply.readInt32();
    }

    // start recording mode, must call setPreviewDisplay first
    // start recording mode, must call setPreviewTarget first
    status_t startRecording()
    {
        ALOGV("startRecording");
@@ -285,12 +285,12 @@ status_t BnCamera::onTransact(
            reply->writeNoException();
            return NO_ERROR;
        } break;
        case SET_PREVIEW_TEXTURE: {
            ALOGV("SET_PREVIEW_TEXTURE");
        case SET_PREVIEW_TARGET: {
            ALOGV("SET_PREVIEW_TARGET");
            CHECK_INTERFACE(ICamera, data, reply);
            sp<IGraphicBufferProducer> st =
                interface_cast<IGraphicBufferProducer>(data.readStrongBinder());
            reply->writeInt32(setPreviewTexture(st));
            reply->writeInt32(setPreviewTarget(st));
            return NO_ERROR;
        } break;
        case SET_PREVIEW_CALLBACK_FLAG: {
+2 −2
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ public:
            // pass the buffered IGraphicBufferProducer to the camera service
            status_t    setPreviewTexture(const sp<IGraphicBufferProducer>& bufferProducer);

            // start preview mode, must call setPreviewDisplay first
            // start preview mode, must call setPreviewTexture first
            status_t    startPreview();

            // stop preview mode
@@ -92,7 +92,7 @@ public:
            // get preview state
            bool        previewEnabled();

            // start recording mode, must call setPreviewDisplay first
            // start recording mode, must call setPreviewTexture first
            status_t    startRecording();

            // stop recording mode
+2 −2
Original line number Diff line number Diff line
@@ -50,7 +50,7 @@ public:
    virtual status_t        unlock() = 0;

    // pass the buffered IGraphicBufferProducer to the camera service
    virtual status_t        setPreviewTexture(
    virtual status_t        setPreviewTarget(
            const sp<IGraphicBufferProducer>& bufferProducer) = 0;

    // set the preview callback flag to affect how the received frames from
@@ -64,7 +64,7 @@ public:
    virtual status_t        setPreviewCallbackTarget(
            const sp<IGraphicBufferProducer>& callbackProducer) = 0;

    // start preview mode, must call setPreviewDisplay first
    // start preview mode, must call setPreviewTarget first
    virtual status_t        startPreview() = 0;

    // stop preview mode
+1 −2
Original line number Diff line number Diff line
@@ -212,8 +212,7 @@ public:
        virtual status_t      connect(const sp<ICameraClient>& client) = 0;
        virtual status_t      lock() = 0;
        virtual status_t      unlock() = 0;
        virtual status_t      setPreviewDisplay(const sp<Surface>& surface) = 0;
        virtual status_t      setPreviewTexture(const sp<IGraphicBufferProducer>& bufferProducer)=0;
        virtual status_t      setPreviewTarget(const sp<IGraphicBufferProducer>& bufferProducer)=0;
        virtual void          setPreviewCallbackFlag(int flag) = 0;
        virtual status_t      setPreviewCallbackTarget(
                const sp<IGraphicBufferProducer>& callbackProducer) = 0;
Loading