diff --git a/include/screencast_common.h b/include/screencast_common.h index 574b29b..2528d2b 100644 --- a/include/screencast_common.h +++ b/include/screencast_common.h @@ -57,13 +57,7 @@ struct xdpw_screencopy_frame { uint32_t height; uint32_t size; uint32_t stride; - bool y_invert; - uint64_t tv_sec; - uint32_t tv_nsec; enum wl_shm_format format; - struct xdpw_frame_damage damage; - struct wl_buffer *buffer; - void *data; }; struct xdpw_screencast_context { diff --git a/src/screencast/pipewire_screencast.c b/src/screencast/pipewire_screencast.c index 67d33a2..d07e662 100644 --- a/src/screencast/pipewire_screencast.c +++ b/src/screencast/pipewire_screencast.c @@ -208,7 +208,7 @@ void xdpw_pwr_enqueue_buffer(struct xdpw_screencast_instance *cast) { h->dts_offset = 0; } - if (cast->screencopy_frame.y_invert) { + if (cast->current_frame.y_invert) { //TODO: Flip buffer or set stride negative cast->err = 1; } @@ -219,7 +219,7 @@ void xdpw_pwr_enqueue_buffer(struct xdpw_screencast_instance *cast) { logprint(TRACE, "pipewire: stride %d", d[0].chunk->stride); logprint(TRACE, "pipewire: width %d", cast->screencopy_frame.width); logprint(TRACE, "pipewire: height %d", cast->screencopy_frame.height); - logprint(TRACE, "pipewire: y_invert %d", cast->screencopy_frame.y_invert); + logprint(TRACE, "pipewire: y_invert %d", cast->current_frame.y_invert); logprint(TRACE, "********************"); pw_stream_queue_buffer(cast->stream, pw_buf); diff --git a/src/screencast/wlr_screencast.c b/src/screencast/wlr_screencast.c index 0a88e11..1437fc6 100644 --- a/src/screencast/wlr_screencast.c +++ b/src/screencast/wlr_screencast.c @@ -123,7 +123,7 @@ static void wlr_frame_flags(void *data, struct zwlr_screencopy_frame_v1 *frame, struct xdpw_screencast_instance *cast = data; logprint(TRACE, "wlroots: flags event handler"); - cast->screencopy_frame.y_invert = flags & ZWLR_SCREENCOPY_FRAME_V1_FLAGS_Y_INVERT; + cast->current_frame.y_invert = flags & ZWLR_SCREENCOPY_FRAME_V1_FLAGS_Y_INVERT; } static void wlr_frame_ready(void *data, struct zwlr_screencopy_frame_v1 *frame, @@ -132,8 +132,8 @@ static void wlr_frame_ready(void *data, struct zwlr_screencopy_frame_v1 *frame, logprint(TRACE, "wlroots: ready event handler"); - cast->screencopy_frame.tv_sec = ((((uint64_t)tv_sec_hi) << 32) | tv_sec_lo); - cast->screencopy_frame.tv_nsec = tv_nsec; + cast->current_frame.tv_sec = ((((uint64_t)tv_sec_hi) << 32) | tv_sec_lo); + cast->current_frame.tv_nsec = tv_nsec; xdpw_pwr_enqueue_buffer(cast); @@ -158,10 +158,10 @@ static void wlr_frame_damage(void *data, struct zwlr_screencopy_frame_v1 *frame, logprint(TRACE, "wlroots: damage event handler"); - cast->screencopy_frame.damage.x = x; - cast->screencopy_frame.damage.y = y; - cast->screencopy_frame.damage.width = width; - cast->screencopy_frame.damage.height = height; + cast->current_frame.damage.x = x; + cast->current_frame.damage.y = y; + cast->current_frame.damage.width = width; + cast->current_frame.damage.height = height; } static const struct zwlr_screencopy_frame_v1_listener wlr_frame_listener = {