aboutsummaryrefslogtreecommitdiff
path: root/include/pipewire.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2024-07-22 02:31:12 +0200
committerdec05eba <dec05eba@protonmail.com>2024-07-22 02:31:12 +0200
commitb077177081c61bce1b1e5247389a09383369a827 (patch)
treee9e87fde075c90a5d0bf93e6977ceff5b7ea3b39 /include/pipewire.h
parent37107bac8d1088f4f541afe99a7c9aea0801e99d (diff)
Portal: move modifier query to init
Diffstat (limited to 'include/pipewire.h')
-rw-r--r--include/pipewire.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/pipewire.h b/include/pipewire.h
index 2a0b134..2a53423 100644
--- a/include/pipewire.h
+++ b/include/pipewire.h
@@ -8,6 +8,9 @@
#include <spa/utils/hook.h>
#include <spa/param/video/format.h>
+#define GSR_PIPEWIRE_MAX_MODIFIERS 1024
+#define GSR_PIPEWIRE_NUM_VIDEO_FORMATS 10
+
typedef struct gsr_egl gsr_egl;
typedef struct {
@@ -33,6 +36,12 @@ typedef struct {
} gsr_pipewire_region;
typedef struct {
+ enum spa_video_format format;
+ size_t modifiers_index;
+ size_t modifiers_size;
+} gsr_video_format;
+
+typedef struct {
gsr_egl *egl;
int fd;
uint32_t node;
@@ -65,12 +74,17 @@ typedef struct {
uint32_t width, height;
} crop;
+ gsr_video_format supported_video_formats[GSR_PIPEWIRE_NUM_VIDEO_FORMATS];
+
gsr_pipewire_data_version server_version;
gsr_pipewire_video_info video_info;
gsr_pipewire_dmabuf_data dmabuf_data;
bool started;
bool stopped;
+
+ uint64_t modifiers[GSR_PIPEWIRE_MAX_MODIFIERS];
+ size_t num_modifiers;
} gsr_pipewire;
/*