Screencast session restore for Wayland / PipeWire #5559
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Implement restoring screencast sessions using portals. Do so by storing the restore token received by the portal in the source data, and using it next time the source is loaded. This feature is only available in the v4 version of the ScreenCast portal [1] - if an older version is running in the host system, the current behavior is preserved.
Motivation and Context
Currently OBS Studio has to recreate screencast sessions from scratch each time a PipeWire source is loaded. This can be annoying,
Use the new screencast restore options provided by xdg-desktop-portal to restore previous sessions.
How Has This Been Tested?
OBS_USE_EGL=1
Types of changes
Checklist:
[1] flatpak/xdg-desktop-portal#638
[2] This is not a GNOME-specific feature; it's just the only implementation available at this point. KDE folks reviewed and approved this new feature, and might be working on their implementation.