From 444cacfa6ca4bbc7251d7d843b6e524d3831fcaf Mon Sep 17 00:00:00 2001 From: Martijn Braam Date: Mon, 21 Nov 2022 21:35:25 +0100 Subject: [PATCH] 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. --- src/io_pipeline.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/io_pipeline.c b/src/io_pipeline.c index 58d9861..8434420 100644 --- a/src/io_pipeline.c +++ b/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