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

Commit 45516aab authored by Marie White's avatar Marie White
Browse files

Set enum to fixed size type

Bug: 63683612
Test: Manual. Ran O2 on Marlin, tested image streaming manually.

Since DvrPoseRawDataType enum will be part of the public DVR API,
explicitly define the size of the enum.

Change-Id: I3900470ccb3ca7a2c4e7ed8e7f5586c60486d9e6
parent 08903839
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -9,8 +9,7 @@

using android::dvr::ConsumerQueue;

int dvrPoseClientGetDataReader(DvrPoseClient* client,
                               DvrPoseRawDataType data_type,
int dvrPoseClientGetDataReader(DvrPoseClient* client, uint64_t data_type,
                               DvrReadBufferQueue** queue_out) {
  if (!client || !queue_out)
    return -EINVAL;
+2 −2
Original line number Diff line number Diff line
@@ -250,11 +250,11 @@ typedef int (*DvrPoseClientSensorsEnablePtr)(DvrPoseClient* client,
typedef int (*DvrPoseClientDataCapturePtr)(DvrPoseClient* client,
    const DvrPoseDataCaptureRequest* request);
typedef int (*DvrPoseClientDataReaderDestroyPtr)(DvrPoseClient* client,
                                                 DvrPoseRawDataType data_type);
                                                 uint64_t data_type);

// dvr_pose.h
typedef int (*DvrPoseClientGetDataReaderPtr)(DvrPoseClient* client,
                                             DvrPoseRawDataType data_type,
                                             uint64_t data_type,
                                             DvrReadBufferQueue** read_queue);

// services/vr/virtual_touchpad/include/dvr/virtual_touchpad_client.h
+9 −10
Original line number Diff line number Diff line
@@ -99,20 +99,20 @@ typedef struct __attribute__((packed, aligned(16))) DvrPose {
} DvrPose;

// Represents a data type that can be streamed from pose service.
typedef enum DvrPoseRawDataType {
  DVR_POSE_RAW_DATA_STEREO_IMAGE,
  DVR_POSE_RAW_DATA_POINT_CLOUD,
  DVR_POSE_RAW_DATA_FEATURES,
enum {
  DVR_POSE_RAW_DATA_STEREO_IMAGE = (1ULL << 0),
  DVR_POSE_RAW_DATA_POINT_CLOUD = (1ULL << 1),
  DVR_POSE_RAW_DATA_FEATURES = (1ULL << 2),

  // Always last.
  DVR_POSE_RAW_DATA_COUNT,
} DvrPoseRawDataType;
  DVR_POSE_RAW_DATA_COUNT = (1ULL << 3),
};

// A request to retrieve data from the pose service. Expects that a buffer
// queue has been initialized through dvrPoseClientGetDataReader().
typedef struct DvrPoseDataCaptureRequest {
  // The type of data to capture. Refer to enum DvrPoseRawDataType for types.
  DvrPoseRawDataType data_type;
  // The type of data to capture. Refer to enum DVR_POSE_RAW_DATA_* for types.
  uint64_t data_type;
  // The sample interval. This can be used to skip samples. For example, a
  // value of 5 will capture every fifth frame and discard the 4 frames in
  // between. Set to 1 to capture all frames.
@@ -144,8 +144,7 @@ typedef struct DvrPoseDataCaptureRequest {
// be found in the metadata struct DvrNativeBufferMetadata, where width is
// |crop_right| and height is |crop_bottom|/2. Each image is contiguous in
// memory with stride equal to width.
int dvrPoseClientGetDataReader(DvrPoseClient* client,
                               DvrPoseRawDataType data_type,
int dvrPoseClientGetDataReader(DvrPoseClient* client, uint64_t data_type,
                               DvrReadBufferQueue** queue_out);

// TODO(b/65067592): Move pose api's from pose_client.h to here.
+1 −2
Original line number Diff line number Diff line
@@ -167,8 +167,7 @@ int dvrPoseClientDataCapture(DvrPoseClient* client,
                             const DvrPoseDataCaptureRequest* request);

// Destroys the write buffer queue for the given |data_type|.
int dvrPoseClientDataReaderDestroy(DvrPoseClient* client,
                                   DvrPoseRawDataType data_type);
int dvrPoseClientDataReaderDestroy(DvrPoseClient* client, uint64_t data_type);

#ifdef __cplusplus
}  // extern "C"
+1 −2
Original line number Diff line number Diff line
@@ -10,8 +10,7 @@ typedef struct DvrPoseClient DvrPoseClient;
namespace android {
namespace dvr {

int dvrPoseClientGetDataReaderHandle(DvrPoseClient *client,
                                     DvrPoseRawDataType data_type,
int dvrPoseClientGetDataReaderHandle(DvrPoseClient *client, uint64_t data_type,
                                     ConsumerQueue **queue_out);

}  // namespace dvr
Loading