pipewire video: check if has modifier

This commit is contained in:
dec05eba
2025-11-24 21:26:02 +01:00
parent 990dfc7589
commit 059e3dbbc0
2 changed files with 4 additions and 2 deletions

View File

@@ -80,6 +80,7 @@ typedef struct {
int server_version_sync; int server_version_sync;
bool negotiated; bool negotiated;
bool damaged; bool damaged;
bool has_modifier;
struct { struct {
bool visible; bool visible;

View File

@@ -280,7 +280,8 @@ static void on_param_changed_cb(void *user_data, uint32_t id, const struct spa_p
self->format.info.raw.format, self->format.info.raw.format,
spa_debug_type_find_name(spa_type_video_format, self->format.info.raw.format)); spa_debug_type_find_name(spa_type_video_format, self->format.info.raw.format));
if(has_modifier) { self->has_modifier = has_modifier;
if(self->has_modifier) {
fprintf(stderr, "gsr info: pipewire: Modifier: 0x%" PRIx64 "\n", self->format.info.raw.modifier); fprintf(stderr, "gsr info: pipewire: Modifier: 0x%" PRIx64 "\n", self->format.info.raw.modifier);
} }
@@ -782,7 +783,7 @@ static EGLImage gsr_pipewire_video_create_egl_image_with_fallback(gsr_pipewire_v
} }
EGLImage image = NULL; EGLImage image = NULL;
if(self->no_modifiers_fallback) { if(self->no_modifiers_fallback || !self->has_modifier) {
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, false); image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, false);
} else { } else {
image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, true); image = gsr_pipewire_video_create_egl_image(self, fds, offsets, pitches, modifiers, true);