소스 검색

Workaround for camera enumeration (MR 9)

The setup_camera() function removes found media devices
from the device list on run but somehow avoids this on
the pinephone due more bugs in the software. This makes
it run with a clean list for every camera to fix this.

The proper fix is dropping the whole setup_camera()
procedure in the future.
Martijn Braam 2 년 전
부모
커밋
444cacfa6c
1개의 변경된 파일2개의 추가작업 그리고 4개의 파일을 삭제
  1. 2 4
      src/io_pipeline.c

+ 2 - 4
src/io_pipeline.c

@@ -277,18 +277,16 @@ setup_camera(MPDeviceList **device_list, const struct mp_camera_config *config)
 static void
 setup(MPPipeline *pipeline, const void *data)
 {
-        MPDeviceList *device_list = mp_device_list_new();
-
         for (size_t i = 0; i < MP_MAX_CAMERAS; ++i) {
                 const struct mp_camera_config *config = mp_get_camera_config(i);
                 if (!config) {
                         break;
                 }
 
+                MPDeviceList *device_list = mp_device_list_new();
                 setup_camera(&device_list, config);
+                mp_device_list_free(device_list);
         }
-
-        mp_device_list_free(device_list);
 }
 
 static void