mirror of
https://repo.dec05eba.com/gpu-screen-recorder
synced 2026-03-31 09:07:13 +09:00
pipewire video: check if has modifier
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user