···6666 struct os_thread_helper usb_thread;
6767 int usb_complete;
68686969- struct wmr_camera_config *configs;
7070- int n_configs;
6969+ const struct wmr_camera_config *configs;
7070+ int config_count;
71717272 size_t xfer_size;
7373 uint32_t frame_width, frame_height;
···116116117117 F = 26;
118118119119- for (i = 0; i < cam->n_configs; i++) {
120120- struct wmr_camera_config *config = cam->configs + i;
119119+ for (i = 0; i < cam->config_count; i++) {
120120+ const struct wmr_camera_config *config = &cam->configs[i];
121121 if (config->purpose != WMR_CAMERA_PURPOSE_HEAD_TRACKING)
122122 continue;
123123···364364}
365365366366bool
367367-wmr_camera_start(struct wmr_camera *cam, struct wmr_camera_config *cam_configs, int n_configs)
367367+wmr_camera_start(struct wmr_camera *cam, const struct wmr_camera_config *cam_configs, int config_count)
368368{
369369 int res, i;
370370371371 cam->configs = cam_configs;
372372- cam->n_configs = n_configs;
372372+ cam->config_count = config_count;
373373 if (!compute_frame_size(cam)) {
374374 WMR_CAM_WARN(cam, "Invalid config or no head tracking cameras found");
375375 goto fail;
···383383 if (res < 0)
384384 goto fail;
385385386386- for (i = 0; i < cam->n_configs; i++) {
387387- struct wmr_camera_config *config = cam->configs + i;
386386+ for (i = 0; i < cam->config_count; i++) {
387387+ const struct wmr_camera_config *config = &cam->configs[i];
388388 if (config->purpose != WMR_CAMERA_PURPOSE_HEAD_TRACKING)
389389 continue;
390390
+6-1
src/xrt/drivers/wmr/wmr_camera.h
···2727void
2828wmr_camera_free(struct wmr_camera *cam);
29293030+/*!
3131+ * Starts the cameras.
3232+ *
3333+ * The data pointed to by @p configs must be kept alive for as long as the camera is kept alive.
3434+ */
3035bool
3131-wmr_camera_start(struct wmr_camera *cam, struct wmr_camera_config *cam_configs, int n_configs);
3636+wmr_camera_start(struct wmr_camera *cam, const struct wmr_camera_config *configs, int config_count);
3237bool
3338wmr_camera_stop(struct wmr_camera *cam);
3439int