Enumerate v4l2 devices

This commit is contained in:
Kamil Trzcinski
2022-09-02 20:21:11 +02:00
parent 328198745b
commit 0a37c63d00
9 changed files with 291 additions and 5 deletions

30
device/device_list.h Normal file
View File

@ -0,0 +1,30 @@
#pragma once
#include <stdbool.h>
typedef struct device_info_formats_s {
unsigned *formats;
unsigned n;
} device_info_formats_t;
typedef struct device_info_s {
char *name;
char *path;
bool camera;
bool m2m;
device_info_formats_t output_formats;
device_info_formats_t capture_formats;
} device_info_t;
typedef struct device_list_s {
device_info_t *devices;
int ndevices;
} device_list_t;
device_list_t *device_list_v4l2();
bool device_info_has_format(device_info_t *info, bool capture, unsigned format);
device_info_t *device_list_find_m2m_format(device_list_t *list, unsigned output, unsigned capture);
device_info_t *device_list_find_m2m_formats(device_list_t *list, unsigned output, unsigned capture_formats[], unsigned *found_format);
void device_list_free(device_list_t *list);