mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-05 13:30:02 -05:00
alsa: handle the case where the driver is destroyed
When the driver node is destroyed (like when unplugging the cable) it will drop/pause all of the follower ALSA nodes. This is something that happens internally because of how the ALSA nodes work together, on the PipeWire level, the nodes are still running and they will just be moved to another driver. The problem is that nothing will then start the nodes again after moving it to the new driver. Fix this by keeping track of the desired target state of the ALSA node and restoring that state when we detect that we are paused when moved to a new driver. Fixes #4401
This commit is contained in:
parent
070374e7ee
commit
02c332bb78
4 changed files with 8 additions and 2 deletions
|
|
@ -133,6 +133,7 @@ struct state {
|
|||
unsigned int opened:1;
|
||||
unsigned int prepared:1;
|
||||
unsigned int started:1;
|
||||
unsigned int want_started:1;
|
||||
snd_pcm_t *hndl;
|
||||
|
||||
bool have_format;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue