Bug 476964 - Streaming the cursor via ScreencastV1Interface::CursorMode::Metadata doesn't work
Summary: Streaming the cursor via ScreencastV1Interface::CursorMode::Metadata doesn't ...
Status: RESOLVED INTENTIONAL
Alias: None
Product: kwin
Classification: Plasma
Component: effects-various (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-11-13 23:38 UTC by Noah Davis
Modified: 2023-11-14 09:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Noah Davis 2023-11-13 23:38:17 UTC
SUMMARY
Streaming the cursor via ScreencastV1Interface::CursorMode::Metadata doesn't work. It simply doesn't appear in the stream. Embedded does work, so as long as we don't need the metadata, it's not so bad.

STEPS TO REPRODUCE
1. Ensure that Spectacle uses the metadata cursor mode in the code of VideoPlatformWayland when include cursor is checked.
2. With Spectacle, check include cursor and do a screen recording.

OBSERVED RESULT
The cursor will not be visible in the output video.

EXPECTED RESULT
The cursor should be visible in the output video.

SOFTWARE/OS VERSIONS
Operating System: openSUSE Tumbleweed 20231108
KDE Plasma Version: 5.81.0
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Kernel Version: 6.5.9-1-default (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 4800H with Radeon Graphics
Memory: 30.8 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Comment 1 David Edmundson 2023-11-14 09:26:57 UTC
>The cursor should be visible in the output video.

Metadata means "send the cursor data completely separately". It's up to the receiving end to do something useful with this. This is useful for remote-desktop like clients where we can then forward the cursor separately and hook into the cursor the other side rather than have it in the video.
 
For video recording I don't think using this mode has any value, it would be up to the recorder to take the cursor metadata and re-composite it into a scene to record, which is just recreating the existing embedded mode.