mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	ALSA: Remove alsa timer from IRQ scheduling
As part of the setup for IRQ based scheduling, a period event was installed. Not only is a timer based polling unecessary for IRQ scheduling, depending on the state of the system, the timer could fire far enough from the IRQ, causing alsa wakeup events with no data in the ring buffer. Pipewire would identify these events as an "early wakeup", adding an extra quantum of time to the next_time estimate, skewing the clock and causing issues with apps that depend on precise timing.
This commit is contained in:
		
							parent
							
								
									bbb3b5d8b1
								
							
						
					
					
						commit
						4331779e4d
					
				
					 1 changed files with 0 additions and 2 deletions
				
			
		| 
						 | 
					@ -2181,8 +2181,6 @@ static int set_swparams(struct state *state)
 | 
				
			||||||
	/* start the transfer */
 | 
						/* start the transfer */
 | 
				
			||||||
	CHECK(snd_pcm_sw_params_set_start_threshold(hndl, params, LONG_MAX), "set_start_threshold");
 | 
						CHECK(snd_pcm_sw_params_set_start_threshold(hndl, params, LONG_MAX), "set_start_threshold");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	CHECK(snd_pcm_sw_params_set_period_event(hndl, params, state->disable_tsched), "set_period_event");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	if (state->disable_tsched) {
 | 
						if (state->disable_tsched) {
 | 
				
			||||||
		snd_pcm_uframes_t avail_min;
 | 
							snd_pcm_uframes_t avail_min;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue