Skip to content

RFC: impl-link: Send magic param on failed format negotiation

Robert Mader requested to merge rmader/pipewire:issue2935 into master

remote-node.c currently does not seem to handle error state events, making users like pipewiresrc hang/timeout in certain situations like a failed format negotiation. In case of pipewiresrc this happens in pw_thread_loop_timed_wait_full(), waiting for a param_changed event.

For certain use-cases this can be problematic, notably when trying multiple optimized Gstreamer pipelines, expecting the pipeline to fail fast if format negotiation fails.

Thus send a "magic" parameter that signals that format negotiation failed and use it in pipewiresrc.

Note: as the title says this is a RFC - suggestions for a cleaner solution, such as marshalling/communicating error states, are very welcome!


Closes #2935 (closed)

Needed for https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2597

Merge request reports