refactor: specify number of video input buffers
Clang Lint CI / lint-no-video (push) Successful in 1m5s
Clang Build CI / run-no-video (push) Successful in 1m5s
Clang Build CI / run-video (push) Successful in 1m5s
Clang Build CI / build-release (push) Successful in 2m24s
Clang Lint CI / lint-video (push) Successful in 2m22s

This commit is contained in:
2026-05-15 00:09:51 +02:00
parent 06d175c4fd
commit 37a492d00d
9 changed files with 172 additions and 150 deletions
+12 -10
View File
@@ -45,10 +45,13 @@ typedef struct Parameters {
bool demo;
bool auto_random;
unsigned int auto_random_cycle;
#ifdef VIDEO_IN
StringArray video_in;
unsigned int video_buffers;
unsigned int video_size;
unsigned int internal_size;
bool video_reconnect;
#endif /* VIDEO_IN */
unsigned int internal_size;
bool load_state;
bool save_state;
bool midi_reconnect;
@@ -85,6 +88,7 @@ typedef struct ShaderProgram {
GLuint vertex_array[2];
unsigned int tex_count;
unsigned int tex_map[ARRAY_SIZE];
GLuint textures[ARRAY_SIZE];
unsigned int frag_count;
@@ -105,7 +109,6 @@ typedef struct ShaderProgram {
GLuint iinres_locations[ARRAY_SIZE];
GLuint iinfmt_locations[ARRAY_SIZE];
GLuint iinfps_locations[ARRAY_SIZE];
GLuint iinswap_locations[ARRAY_SIZE];
GLuint idemo_locations[ARRAY_SIZE];
GLuint iautorand_locations[ARRAY_SIZE];
GLuint iautorandcycle_locations[ARRAY_SIZE];
@@ -130,9 +133,10 @@ typedef struct ShaderProgram {
unsigned int in_count;
#ifdef VIDEO_IN
unsigned int sub_video_count;
unsigned int input_tex_map[MAX_VIDEO];
EGLDisplay egl_display;
EGLImageKHR dma_images[MAX_VIDEO];
EGLImageKHR dma_images_swap[MAX_VIDEO];
#endif /* VIDEO_IN */
} ShaderProgram;
@@ -163,7 +167,7 @@ typedef struct Context {
vec2 input_resolutions[MAX_VIDEO];
unsigned int input_formats[MAX_VIDEO];
unsigned int input_fps[MAX_VIDEO];
bool input_swap[MAX_VIDEO];
unsigned int input_index[MAX_VIDEO];
#endif /* VIDEO_IN */
double time;
Tempo tempo;
@@ -190,17 +194,15 @@ typedef struct VideoCapture {
_Atomic bool error;
_Atomic bool disconnected;
_Atomic bool needs_reload;
bool with_swap;
_Atomic bool swap;
unsigned int buf_count;
unsigned int buf_index;
int fd;
int exp_fd;
int exp_fd_swap;
int exp_fd[ARRAY_SIZE];
unsigned int width;
unsigned int height;
unsigned int pixelformat;
unsigned int bytesperline;
struct v4l2_buffer buf;
struct v4l2_buffer buf_swap;
struct v4l2_buffer buf[ARRAY_SIZE];
} VideoCapture;
typedef struct VideoCaptureArray {