VideoStream: pause the encoded stream on suppress output instead of stopping

Requires: kpipewire!263 (merged)

When a client suppresses output (e.g. its window is minimized) the encoded stream was stopped via PipeWireEncodedStream::stop() and restarted via start() on restore. But stop() is terminal in kpipewire - it closes the single-use PipeWire fd - so start() never resumes and the session freezes permanently.

Use the new pause()/resume() API instead: pause the encoded stream on suppress (keeping it alive) and resume it on restore. The stream is only fully stopped on teardown via close(). The progressive/source-stream path is unchanged, as it already uses setActive().

Set as draft until the above linked MR is in kpipewire.

BUG: 497765

Merge request reports

Loading