screencastService: Drop always-copy condition

The check for the Pipewire version was originally introduced in
d32c0348 which states:
> Since it is not clear yet when a proper solution will arrive,
> this makes use of `always-copy` as a workaround for now and
> should be reverted once it is no longer needed.

The check for a stable Gstreamer version with the mention proper fix was
introduced in d7b44319 and carried for the 43 cycle.

By the time Gnome 44 will be released all distros should have had enough
time to update their Gstreamer version - or backport the patches, in
case of not ustream-supported versions.

Thus lets drop it now.

Note: `always-copy` is not suitable for dmabuf buffers as it copies via
mmap.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>
This commit is contained in:
robert.mader@collabora.com 2023-02-20 18:07:23 +01:00 committed by Jonas Dreßler
parent cad01d154c
commit 46517e02dd

View File

@ -316,13 +316,9 @@ var Recorder = class {
_ensurePipeline(nodeId) { _ensurePipeline(nodeId) {
const framerate = this._framerate; const framerate = this._framerate;
const needsCopy =
Gst.Registry.get().check_feature_version('pipewiresrc', 0, 3, 57) &&
!Gst.Registry.get().check_feature_version('videoconvert', 1, 20, 4);
let fullPipeline = ` let fullPipeline = `
pipewiresrc path=${nodeId} pipewiresrc path=${nodeId}
always-copy=${needsCopy}
do-timestamp=true do-timestamp=true
keepalive-time=1000 keepalive-time=1000
resend-last=true ! resend-last=true !