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

Commit 76c948ac authored by Okan Arikan's avatar Okan Arikan
Browse files

Add a void* user data parameter to DvrTrackingSensorsStart.

So that the client can pass a user data pointer to the callback.

Bug: 78173127
Test: Run dvr_tracking-test on device.
Change-Id: Id3e977069a5b9a9f2ad8316c61aee227ebdd6e34
(cherry picked from commit c3fc600b9ead16a39e589ce8e6f635204922b0a6)
parent e19de222
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -38,8 +38,8 @@ void dvrTrackingSensorsDestroy(DvrTrackingSensors*) {
  ALOGE("dvrTrackingSensorsDestroy is not implemented.");
}

int dvrTrackingSensorsStart(DvrTrackingSensors*,
                            DvrTrackingSensorEventCallback) {
int dvrTrackingSensorsStart(DvrTrackingSensors*, DvrTrackingSensorEventCallback,
                            void*) {
  ALOGE("dvrTrackingStart is not implemented.");
  return -ENOSYS;
}
+2 −1
Original line number Diff line number Diff line
@@ -379,7 +379,8 @@ typedef int (*DvrTrackingSensorsCreatePtr)(DvrTrackingSensors** out_sensors,
                                           const char* mode);
typedef void (*DvrTrackingSensorsDestroyPtr)(DvrTrackingSensors* sensors);
typedef int (*DvrTrackingSensorsStartPtr)(
    DvrTrackingSensors* sensors, DvrTrackingSensorEventCallback callback);
    DvrTrackingSensors* sensors, DvrTrackingSensorEventCallback callback,
    void* context);
typedef int (*DvrTrackingSensorsStopPtr)(DvrTrackingSensors* sensors);

// The buffer metadata that an Android Surface (a.k.a. ANativeWindow)
+5 −2
Original line number Diff line number Diff line
@@ -30,7 +30,8 @@ typedef struct DvrWriteBufferQueue DvrWriteBufferQueue;

// The callback for DvrTrackingSensors session that will deliver the events.
// This callback is passed to dvrTrackingSensorsStart.
typedef void (*DvrTrackingSensorEventCallback)(DvrTrackingSensorEvent* event);
typedef void (*DvrTrackingSensorEventCallback)(void* context,
                                               DvrTrackingSensorEvent* event);

// Creates a DvrTrackingCamera session.
//
@@ -106,11 +107,13 @@ void dvrTrackingSensorsDestroy(DvrTrackingSensors* sensors);
// events as they arrive.
//
// @param client A tracking client created by dvrTrackingSensorsCreate.
// @param context A client supplied pointer that will be passed to the callback.
// @param callback A callback that will receive the sensor events on an
// arbitrary thread.
// @return Zero on success, or negative error code.
int dvrTrackingSensorsStart(DvrTrackingSensors* sensors,
                            DvrTrackingSensorEventCallback callback);
                            DvrTrackingSensorEventCallback callback,
                            void* context);

// Stop the tracking.
//
+1 −1
Original line number Diff line number Diff line
@@ -53,7 +53,7 @@ TEST_F(DvrTrackingTest, NotImplemented) {
  ASSERT_TRUE(api_.TrackingSensorsStop != nullptr);

  EXPECT_EQ(api_.TrackingSensorsCreate(nullptr, nullptr), -ENOSYS);
  EXPECT_EQ(api_.TrackingSensorsStart(nullptr, nullptr), -ENOSYS);
  EXPECT_EQ(api_.TrackingSensorsStart(nullptr, nullptr, nullptr), -ENOSYS);
  EXPECT_EQ(api_.TrackingSensorsStop(nullptr), -ENOSYS);
}