[mutter/gbsneto/fix-unset-cursor-metadata] streams: Don't bail out when cursor is outside the stream



commit 8f0c4d67da29aea92621199efac3659972446903
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Thu Aug 27 11:17:42 2020 -0300

    streams: Don't bail out when cursor is outside the stream
    
    PipeWire reuses buffers, and buffer metadatas, when streaming. When
    the cursor is moved to outside the stream, the cursor meta also needs
    to be updated, otherwise it'll use the cursor position of whatever is
    in the buffer.
    
    Don't bail out when cursor is outside the stream, and ensure to record
    a metadata-only frame. This only applies to metadata streams.
    
    https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1417

 src/backends/meta-screen-cast-area-stream-src.c    | 3 ---
 src/backends/meta-screen-cast-monitor-stream-src.c | 3 ---
 src/backends/meta-screen-cast-window-stream-src.c  | 3 ---
 3 files changed, 9 deletions(-)
---
diff --git a/src/backends/meta-screen-cast-area-stream-src.c b/src/backends/meta-screen-cast-area-stream-src.c
index c5521422c6..5846177537 100644
--- a/src/backends/meta-screen-cast-area-stream-src.c
+++ b/src/backends/meta-screen-cast-area-stream-src.c
@@ -172,9 +172,6 @@ sync_cursor_state (MetaScreenCastAreaStreamSrc *area_src)
   MetaScreenCastStreamSrc *src = META_SCREEN_CAST_STREAM_SRC (area_src);
   MetaScreenCastRecordFlag flags;
 
-  if (!is_cursor_in_stream (area_src))
-    return;
-
   if (is_redraw_queued (area_src))
     return;
 
diff --git a/src/backends/meta-screen-cast-monitor-stream-src.c 
b/src/backends/meta-screen-cast-monitor-stream-src.c
index cb6e81b288..78aba0a953 100644
--- a/src/backends/meta-screen-cast-monitor-stream-src.c
+++ b/src/backends/meta-screen-cast-monitor-stream-src.c
@@ -206,9 +206,6 @@ sync_cursor_state (MetaScreenCastMonitorStreamSrc *monitor_src)
   MetaScreenCastStreamSrc *src = META_SCREEN_CAST_STREAM_SRC (monitor_src);
   MetaScreenCastRecordFlag flags;
 
-  if (!is_cursor_in_stream (monitor_src))
-    return;
-
   if (is_redraw_queued (monitor_src))
     return;
 
diff --git a/src/backends/meta-screen-cast-window-stream-src.c 
b/src/backends/meta-screen-cast-window-stream-src.c
index d41b6c41c9..c91f68754a 100644
--- a/src/backends/meta-screen-cast-window-stream-src.c
+++ b/src/backends/meta-screen-cast-window-stream-src.c
@@ -382,9 +382,6 @@ sync_cursor_state (MetaScreenCastWindowStreamSrc *window_src)
   MetaScreenCastStreamSrc *src = META_SCREEN_CAST_STREAM_SRC (window_src);
   MetaScreenCastRecordFlag flags;
 
-  if (!is_cursor_in_stream (window_src))
-    return;
-
   if (meta_screen_cast_window_has_damage (window_src->screen_cast_window))
     return;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]