mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	alsa-pcm: unlink pcm when driver is changed to a different pcm
We have to unlink pcms when they are linked to a driver from a different pcm. When a playback and a capture pcm is linked and we start the playback pcm and the capture pcm later this can leads to a 'EPIPE' error on the capture device. ... spa.alsa: hw:3,0c: snd_pcm_start: Broken pipe ...
This commit is contained in:
		
							parent
							
								
									0377a3797a
								
							
						
					
					
						commit
						2c905fc548
					
				
					 1 changed files with 4 additions and 0 deletions
				
			
		| 
						 | 
					@ -3489,6 +3489,10 @@ static int do_state_sync(struct spa_loop *loop, bool async, uint32_t seq,
 | 
				
			||||||
				spa_list_append(&state->driver->rt.followers, &rt->driver_link);
 | 
									spa_list_append(&state->driver->rt.followers, &rt->driver_link);
 | 
				
			||||||
			rt->driver = state->driver;
 | 
								rt->driver = state->driver;
 | 
				
			||||||
			spa_log_debug(state->log, "state:%p -> driver:%p", state, state->driver);
 | 
								spa_log_debug(state->log, "state:%p -> driver:%p", state, state->driver);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
								if(state->linked && state->matching) {
 | 
				
			||||||
 | 
									try_unlink(state);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		if (state->following) {
 | 
							if (state->following) {
 | 
				
			||||||
			remove_sources(state);
 | 
								remove_sources(state);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue