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

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

Camera: fill in Camera3Device offline processing impl

Move shared method implementations to Camera3OutputUtils.cpp/h
Defined interfaces to handle Camera3Device/Camera3OfflineSession
behavior differences in Camera3OutputInterface.h.

Bug: 135142453
Test: N/A (not enough implementation yet)
Change-Id: I57476ca5a1edf69c02a22241ad776d6f02636033
parent 56d98ba8
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -46,6 +46,7 @@ cc_library_shared {
        "api2/HeicEncoderInfoManager.cpp",
        "api2/HeicCompositeStream.cpp",
        "device1/CameraHardwareInterface.cpp",
        "device3/BufferUtils.cpp",
        "device3/Camera3Device.cpp",
        "device3/Camera3OfflineSession.cpp",
        "device3/Camera3Stream.cpp",
@@ -60,6 +61,8 @@ cc_library_shared {
        "device3/CoordinateMapper.cpp",
        "device3/DistortionMapper.cpp",
        "device3/ZoomRatioMapper.cpp",
        "device3/Camera3OutputStreamInterface.cpp",
        "device3/Camera3OutputUtils.cpp",
        "gui/RingBufferConsumer.cpp",
        "utils/CameraThreadState.cpp",
        "hidl/AidlCameraDeviceCallbacks.cpp",
+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ status_t Camera2ClientBase<TClientBase>::initializeImpl(TProviderPtr providerPtr
        return res;
    }

    wp<CameraDeviceBase::NotificationListener> weakThis(this);
    wp<NotificationListener> weakThis(this);
    res = mDevice->setNotifyCallback(weakThis);

    return OK;
+2 −2
Original line number Diff line number Diff line
@@ -29,7 +29,7 @@ class CameraService;
template <typename TClientBase>
class Camera2ClientBase :
        public TClientBase,
        public CameraDeviceBase::NotificationListener
        public NotificationListener
{
public:
    typedef typename TClientBase::TCamCallbacks TCamCallbacks;
@@ -61,7 +61,7 @@ public:
    virtual status_t      dumpClient(int fd, const Vector<String16>& args);

    /**
     * CameraDeviceBase::NotificationListener implementation
     * NotificationListener implementation
     */

    virtual void          notifyError(int32_t errorCode,
+0 −3
Original line number Diff line number Diff line
@@ -24,7 +24,4 @@ namespace android {
CameraDeviceBase::~CameraDeviceBase() {
}

CameraDeviceBase::NotificationListener::~NotificationListener() {
}

} // namespace android
+0 −29
Original line number Diff line number Diff line
@@ -258,35 +258,6 @@ class CameraDeviceBase : public virtual RefBase {
     */
    virtual ssize_t getJpegBufferSize(uint32_t width, uint32_t height) const = 0;

    /**
     * Abstract class for HAL notification listeners
     */
    class NotificationListener : public virtual RefBase {
      public:
        // The set of notifications is a merge of the notifications required for
        // API1 and API2.

        // Required for API 1 and 2
        virtual void notifyError(int32_t errorCode,
                                 const CaptureResultExtras &resultExtras) = 0;

        // Required only for API2
        virtual void notifyIdle() = 0;
        virtual void notifyShutter(const CaptureResultExtras &resultExtras,
                nsecs_t timestamp) = 0;
        virtual void notifyPrepared(int streamId) = 0;
        virtual void notifyRequestQueueEmpty() = 0;

        // Required only for API1
        virtual void notifyAutoFocus(uint8_t newState, int triggerId) = 0;
        virtual void notifyAutoExposure(uint8_t newState, int triggerId) = 0;
        virtual void notifyAutoWhitebalance(uint8_t newState,
                int triggerId) = 0;
        virtual void notifyRepeatingRequestError(long lastFrameNumber) = 0;
      protected:
        virtual ~NotificationListener();
    };

    /**
     * Connect HAL notifications to a listener. Overwrites previous
     * listener. Set to NULL to stop receiving notifications.
Loading