diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/camera/IProCameraCallbacks.h | 7 | ||||
-rw-r--r-- | include/camera/ProCamera.h | 17 |
2 files changed, 18 insertions, 6 deletions
diff --git a/include/camera/IProCameraCallbacks.h b/include/camera/IProCameraCallbacks.h index e5be099..fc24026 100644 --- a/include/camera/IProCameraCallbacks.h +++ b/include/camera/IProCameraCallbacks.h @@ -24,6 +24,8 @@ #include <utils/Timers.h> #include <system/camera.h> +struct camera_metadata; + namespace android { class IProCameraCallbacks: public IInterface @@ -47,6 +49,11 @@ public: }; virtual void onLockStatusChanged(LockStatus newLockStatus) = 0; + + /** Missing by design: implementation is client-side in ProCamera.cpp **/ + // virtual void onBufferReceived(int streamId, + // const CpuConsumer::LockedBufer& buf); + virtual void onResultReceived(int32_t frameId, camera_metadata* result) = 0; }; // ---------------------------------------------------------------------------- diff --git a/include/camera/ProCamera.h b/include/camera/ProCamera.h index 4dda533..7cd9138 100644 --- a/include/camera/ProCamera.h +++ b/include/camera/ProCamera.h @@ -49,17 +49,19 @@ public: // OnBufferReceived and OnRequestReceived can come in with any order, // use android.sensor.timestamp and LockedBuffer.timestamp to correlate them - // TODO: implement in IProCameraCallbacks, ProCamera2Client - // A new frame buffer has been received for this stream. // -- This callback only fires for createStreamCpu streams + // -- Use buf.timestamp to correlate with metadata's + // android.sensor.timestamp // -- The buffer must not be accessed after this function call completes virtual void onBufferReceived(int streamId, const CpuConsumer::LockedBuffer& buf) = 0; - // A new metadata buffer has been received. - // -- Ownership of request passes on to the callee, - // free with free_camera_metadata. - virtual void onRequestReceived(camera_metadata* request) = 0; + /** + * A new metadata buffer has been received. + * -- Ownership of request passes on to the callee, free with + * free_camera_metadata. + */ + virtual void onResultReceived(int32_t frameId, camera_metadata* result) = 0; }; class ProCamera : public BnProCameraCallbacks, public IBinder::DeathRecipient @@ -189,6 +191,9 @@ protected: virtual void onLockStatusChanged( IProCameraCallbacks::LockStatus newLockStatus); + virtual void onResultReceived(int32_t frameId, + camera_metadata* result); + class DeathNotifier: public IBinder::DeathRecipient { public: |