pipewire/src
Wim Taymans 823dcd8843 scheduler: make nodes move to IDLE when inactive
When a node is inactive but linked to a driver, the only reason it is
not being scheduled is because it is inactive.

We already set up the links and negotiate the format and buffers to
prepare going to RUNNING. This patch now also make the node go to IDLE,
which makes the adapter negotiate a forma and buffers with the internal
node.

This makes things more symetrical, when linking a node, it becomes IDLE,
when activating it becomes RUNNABLE, when inactive it goes back to IDLE.
The switch to RUNNING will also be faster when things are already set up
in the IDLE state.

The main advantage is that it allows us to implement the startup of
corked streams in pulseaudio better. Before this patch we had to set the
stream to active to make it go through the Format and buffer negotiation
and then quickly set it back to inactive, hopefully without skipping a
cycle. After this patch, the corked stream goes all the way to IDLE,
where it then waits to become active.

See #4991
2026-04-14 14:28:29 +02:00
..
daemon docs: remove support for absolute paths from docs 2026-04-06 14:47:21 +02:00
examples impl-node: accept more node.passive values 2026-03-12 17:25:36 +01:00
gst pipewiresrc: fix wait_negotiated from change_state 2026-03-16 17:08:44 +00:00
modules scheduler: make nodes move to IDLE when inactive 2026-04-14 14:28:29 +02:00
pipewire scheduler: make nodes move to IDLE when inactive 2026-04-14 14:28:29 +02:00
tests stream: return -EIO when doing get_time in != STREAMING 2026-02-12 12:26:33 +01:00
tools tools: connect to the manager socket by default 2026-04-13 07:39:45 +00:00
meson.build meson.build: fix compile with -Dexamples=disabled 2023-11-28 10:18:25 +00:00