mutter/src/backends
Jonas Ådahl b1be1e86e9 screen-cast: Always wait for an update before sending cursor-only frames
With the unthrottled input emission, we ended up often getting the
cursor updates long before any damage had been posted, meaning that if
you moved around the mouse pointer where the mouse had a high enough
refresh rate, we'd effectively stall the screen cast stream by only
sending cursor updates and nothing else.

Fix this by scheduling an update when we get a cursor update, then
sending a cursor-only frame after any damage and relayout has been
processed, but only if there is no queued damage that will cause an
actual repaint.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2393>
2022-04-29 20:51:25 +00:00
..
native cursor-renderer/native: Support allocating dumb buffers 2022-04-29 19:35:35 +00:00
x11 barrier: Remove _ prefix in various places 2022-04-29 18:58:38 +00:00
edid-parse.c
edid.h
gsm-inhibitor-flag.h
meta-backend-private.h backends: Add private call to update MetaBackend from a device 2022-02-08 14:34:47 +00:00
meta-backend-types.h virtual-monitor: Split out mode info into separate struct 2022-03-04 18:13:45 +00:00
meta-backend.c Name unnamed sources 2022-03-04 10:10:05 +03:00
meta-barrier-private.h barrier: Remove _ prefix in various places 2022-04-29 18:58:38 +00:00
meta-barrier.c barrier: Remove _ prefix in various places 2022-04-29 18:58:38 +00:00
meta-crtc-mode.c
meta-crtc-mode.h crtc-mode-info: Add vblank duration field 2021-07-13 08:09:42 +00:00
meta-crtc.c monitor-manager: Connect assigned CRTCs to their outputs both ways 2021-01-22 16:47:08 +00:00
meta-crtc.h monitor-manager: Connect assigned CRTCs to their outputs both ways 2021-01-22 16:47:08 +00:00
meta-cursor-renderer.c backends: Remove superfluous intermediate variable 2021-12-07 20:04:08 +00:00
meta-cursor-renderer.h cursor-renderer: Remove meta_cursor_renderer_is_overlay_visible 2021-09-20 14:00:08 +00:00
meta-cursor-sprite-xcursor.c cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-sprite-xcursor.h cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-tracker-private.h cursor-sprite: Register all cursor sprites with the cursor tracker 2021-12-22 16:22:08 +00:00
meta-cursor-tracker.c cursor-tracker: Add missing annotation to meta_cursor_tracker_get_pointer 2022-04-05 14:05:22 +02:00
meta-cursor.c cursor: Hold reference to cursor tracker 2021-12-22 19:37:16 +01:00
meta-cursor.h backends: Replace MetaCursorSprite::prepare-at with in-place function 2021-12-07 20:04:08 +00:00
meta-dbus-session-watcher.c
meta-dbus-session-watcher.h
meta-display-config-shared.h
meta-dnd-private.h dnd: Notify about events during compositor grab from event filter 2022-03-02 15:12:23 +00:00
meta-egl-ext.h
meta-egl.c egl: Fix number of configs returned in meta_egl_choose_all_configs 2022-03-03 08:18:56 +00:00
meta-egl.h egl: Add eglQueryDisplayAttribEXT() helper 2022-01-05 16:36:48 +00:00
meta-gles3-table.h backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gles3.c
meta-gles3.h Fix const qualifier usage 2019-01-22 18:31:53 +01:00
meta-gpu.c
meta-gpu.h backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-idle-manager.c context: Move 'replace-current-wm' tracking to the context 2021-07-15 11:34:37 +02:00
meta-idle-manager.h backends: Introduce MetaIdleManager 2021-05-18 13:19:36 +00:00
meta-idle-monitor-private.h backends: Introduce MetaIdleManager 2021-05-18 13:19:36 +00:00
meta-idle-monitor.c Name unnamed sources 2022-03-04 10:10:05 +03:00
meta-input-device-private.h
meta-input-device.c
meta-input-mapper-private.h backends: Make MetaInputMapper take over MetaInputSettings public API 2020-11-27 15:14:33 +00:00
meta-input-mapper.c backends: Do not exclude devices from an output based on capability 2021-12-07 14:59:57 +00:00
meta-input-settings-dummy.c input-settings: Make set_matrix() vfunc take const float array pointer 2021-04-14 19:16:22 +00:00
meta-input-settings-dummy.h backends/x11: Add dummy input-settings implementation 2021-03-10 13:56:54 +00:00
meta-input-settings-private.h input-settings: Make set_matrix() vfunc take const float array pointer 2021-04-14 19:16:22 +00:00
meta-input-settings.c backends: Update MetaInputSettings to apply settings based on capabilities 2022-03-30 12:06:52 +00:00
meta-keymap-utils.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-keymap-utils.h
meta-logical-monitor.c
meta-logical-monitor.h
meta-monitor-config-manager.c monitor-transform: Add function to compute from orientation 2021-09-04 10:04:01 +02:00
meta-monitor-config-manager.h monitor-config-store: Add way to define config store loading policy 2022-01-25 16:25:48 +00:00
meta-monitor-config-migration.c monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-monitor-config-migration.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
meta-monitor-config-store.c monitor-config-store: Allow changing D-Bus configuration policy 2022-01-25 16:25:48 +00:00
meta-monitor-config-store.h monitor-config-store: Allow changing D-Bus configuration policy 2022-01-25 16:25:48 +00:00
meta-monitor-manager-dummy.c monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-monitor-manager-dummy.h
meta-monitor-manager-private.h wayland/xdg-shell: Add toplevel bounds support 2022-03-04 14:48:25 +00:00
meta-monitor-manager.c meson: Allow to build without gnome-desktop 2022-03-03 15:07:38 +00:00
meta-monitor-transform.c monitor-transform: Add function to compute from orientation 2021-09-04 10:04:01 +02:00
meta-monitor-transform.h monitor-transform: Add function to compute from orientation 2021-09-04 10:04:01 +02:00
meta-monitor.c monitor: Add support to privacy screen 2022-01-25 07:31:19 +00:00
meta-monitor.h monitor: Add support to privacy screen 2022-01-25 07:31:19 +00:00
meta-orientation-manager.c orientation-manager: Use an idle to apply monitor orientation changes 2021-09-04 10:04:01 +02:00
meta-orientation-manager.h tests: Add MetaOrientationManager tests via SensorsProxy mock 2021-09-04 10:04:00 +02:00
meta-output.c virtual-monitor: Add way to change virtual monitor mode 2022-03-04 18:13:45 +00:00
meta-output.h virtual-monitor: Add way to change virtual monitor mode 2022-03-04 18:13:45 +00:00
meta-pointer-constraint.c backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-pointer-constraint.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-profiler.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02:00
meta-profiler.h
meta-remote-access-controller-private.h
meta-remote-access-controller.c
meta-remote-desktop-session.c remote-desktop: Check pipe fd before assuming existing read() operation 2021-07-28 15:26:04 +00:00
meta-remote-desktop-session.h remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-remote-desktop.c remote-desktop: Close sessions on prepare-shutdown 2021-05-11 16:18:13 +00:00
meta-remote-desktop.h remote-desktop: Add backend getter 2021-03-04 17:39:08 +00:00
meta-renderer-view.c backends: Rename ClutterStage[View]Cogl API and types 2021-07-16 19:08:06 +02:00
meta-renderer-view.h backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-renderer.c renderer: Cleanup views in dispose 2021-05-05 19:52:04 +00:00
meta-renderer.h tests/monitor: Check that the CRTC "layout" is correct 2021-01-22 16:47:08 +00:00
meta-screen-cast-area-stream-src.c screen-cast: Always wait for an update before sending cursor-only frames 2022-04-29 20:51:25 +00:00
meta-screen-cast-area-stream-src.h
meta-screen-cast-area-stream.c remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-area-stream.h
meta-screen-cast-monitor-stream-src.c screen-cast: Always wait for an update before sending cursor-only frames 2022-04-29 20:51:25 +00:00
meta-screen-cast-monitor-stream-src.h
meta-screen-cast-monitor-stream.c screencast: Fix transform_position(), when using fractional scaling 2021-05-17 16:11:47 +02:00
meta-screen-cast-monitor-stream.h
meta-screen-cast-session.c screen-cast-session: Add is-active tracking 2021-12-07 19:23:52 +00:00
meta-screen-cast-session.h screen-cast-session: Add is-active tracking 2021-12-07 19:23:52 +00:00
meta-screen-cast-stream-src.c screen-cast/src: Always allow MemFd buffer types to be selected 2022-04-22 12:08:04 +00:00
meta-screen-cast-stream-src.h remote-desktop/virtual: Drop absolute events if not active 2022-03-04 18:13:45 +00:00
meta-screen-cast-stream.c ScreenCast: Allow recording new streams on active sessions 2021-12-07 19:23:52 +00:00
meta-screen-cast-stream.h remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream-src.c screen-cast: Always wait for an update before sending cursor-only frames 2022-04-29 20:51:25 +00:00
meta-screen-cast-virtual-stream-src.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream.c remote-desktop/virtual: Drop absolute events if not active 2022-03-04 18:13:45 +00:00
meta-screen-cast-virtual-stream.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-window-stream-src.c screen-cast: Always wait for an update before sending cursor-only frames 2022-04-29 20:51:25 +00:00
meta-screen-cast-window-stream-src.h
meta-screen-cast-window-stream.c remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-window-stream.h
meta-screen-cast-window.c
meta-screen-cast-window.h
meta-screen-cast.c screen-cast: Remove stray newline 2022-04-29 18:58:38 +00:00
meta-screen-cast.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-settings-private.h backend/native: Only disable dmabuf screen cast when not hw accelerated 2022-02-07 19:16:45 +00:00
meta-settings.c backend/native: Only disable dmabuf screen cast when not hw accelerated 2022-02-07 19:16:45 +00:00
meta-stage-impl-private.h stage-impl: Change the backend pointer to MetaBackend 2022-01-17 09:48:51 +01:00
meta-stage-impl.c stage-impl: Change the backend pointer to MetaBackend 2022-01-17 09:48:51 +01:00
meta-stage-private.h tests: Add reference test framework 2021-03-12 15:09:45 +00:00
meta-stage-view-private.h backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-stage-view.c backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-stage.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-viewport-info.c main: Move rect related macro to util-private.h 2021-05-17 16:08:42 +00:00
meta-viewport-info.h backends: Store whether views are scaled in MetaViewportInfo 2021-04-13 10:32:14 +00:00
meta-virtual-monitor.c virtual-monitor: Add way to change virtual monitor mode 2022-03-04 18:13:45 +00:00
meta-virtual-monitor.h virtual-monitor: Add way to change virtual monitor mode 2022-03-04 18:13:45 +00:00