screencastService: Do not try multiple pipelines on old Pipewire versions
Pipewire versions < 0.3.67 may not fail immediatly on negotiation errors, thus use the last/fallback pipeline directly. Technically, a similar recent version of Wireplumber is required as well, but we can't check that easily and the combination of old Wireplumber and new Pipewire is quite unlikely. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2609>
This commit is contained in:
parent
9cb40c4814
commit
80d72cfd32
@ -244,7 +244,10 @@ var Recorder = class {
|
|||||||
this._nodeId = nodeId;
|
this._nodeId = nodeId;
|
||||||
|
|
||||||
this._pipelineState = PipelineState.STARTING;
|
this._pipelineState = PipelineState.STARTING;
|
||||||
this._pipelineConfigs = PIPELINES.values();
|
const fallbackSupported =
|
||||||
|
Gst.Registry.get().check_feature_version('pipewiresrc', 0, 3, 67);
|
||||||
|
this._pipelineConfigs = fallbackSupported
|
||||||
|
? PIPELINES.values() : [PIPELINES.at(-1)].values();
|
||||||
this._tryNextPipeline();
|
this._tryNextPipeline();
|
||||||
});
|
});
|
||||||
this._sessionProxy.StartSync();
|
this._sessionProxy.StartSync();
|
||||||
|
Loading…
Reference in New Issue
Block a user