From 96d2789d8f49d0493fa496f322a0ba031d7cf5c7 Mon Sep 17 00:00:00 2001 From: columbarius Date: Tue, 15 Jun 2021 18:04:33 +0200 Subject: [PATCH] screencast: don't rely on the structure of xdpw_screencast_instance to convert formats --- include/screencast_common.h | 3 +-- src/screencast/pipewire_screencast.c | 2 +- src/screencast/screencast_common.c | 5 ++--- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/include/screencast_common.h b/include/screencast_common.h index 2c3ce75..e35fc2d 100644 --- a/include/screencast_common.h +++ b/include/screencast_common.h @@ -122,8 +122,7 @@ struct xdpw_wlr_output { }; void randname(char *buf); -enum spa_video_format xdpw_format_pw_from_wl_shm( - struct xdpw_screencast_instance *cast); +enum spa_video_format xdpw_format_pw_from_wl_shm(enum wl_shm_format format); enum spa_video_format xdpw_format_pw_strip_alpha(enum spa_video_format format); enum xdpw_chooser_types get_chooser_type(const char *chooser_type); diff --git a/src/screencast/pipewire_screencast.c b/src/screencast/pipewire_screencast.c index 07419d1..5536a3b 100644 --- a/src/screencast/pipewire_screencast.c +++ b/src/screencast/pipewire_screencast.c @@ -164,7 +164,7 @@ void xdpw_pwr_stream_create(struct xdpw_screencast_instance *cast) { pw_loop_add_event(state->pw_loop, pwr_on_event, cast); logprint(DEBUG, "pipewire: registered event %p", cast->event); - enum spa_video_format format = xdpw_format_pw_from_wl_shm(cast); + enum spa_video_format format = xdpw_format_pw_from_wl_shm(cast->simple_frame.format); enum spa_video_format format_without_alpha = xdpw_format_pw_strip_alpha(format); diff --git a/src/screencast/screencast_common.c b/src/screencast/screencast_common.c index 3059cc6..63d8d9a 100644 --- a/src/screencast/screencast_common.c +++ b/src/screencast/screencast_common.c @@ -12,9 +12,8 @@ void randname(char *buf) { } } -enum spa_video_format xdpw_format_pw_from_wl_shm( - struct xdpw_screencast_instance *cast) { - switch (cast->simple_frame.format) { +enum spa_video_format xdpw_format_pw_from_wl_shm(enum wl_shm_format format) { + switch (format) { case WL_SHM_FORMAT_ARGB8888: return SPA_VIDEO_FORMAT_BGRA; case WL_SHM_FORMAT_XRGB8888: