mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	ladspa/remap: make sure we process all requested rewinds unconditionally
In some situations a rewind request travelling downstream might be optimized away on its way and an upstream rewind processing might never come back. Hence, call _process_rewind() before each _render()just to make sure we processed them all.
This commit is contained in:
		
							parent
							
								
									51b3899348
								
							
						
					
					
						commit
						7d4916379b
					
				
					 4 changed files with 14 additions and 5 deletions
				
			
		| 
						 | 
				
			
			@ -592,15 +592,15 @@ void pa_source_process_rewind(pa_source *s, size_t nbytes) {
 | 
			
		|||
    pa_source_assert_ref(s);
 | 
			
		||||
    pa_assert(PA_SOURCE_IS_LINKED(s->thread_info.state));
 | 
			
		||||
 | 
			
		||||
    if (s->thread_info.state == PA_SOURCE_SUSPENDED)
 | 
			
		||||
    if (nbytes <= 0)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    if (nbytes <= 0)
 | 
			
		||||
    if (s->thread_info.state == PA_SOURCE_SUSPENDED)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    pa_log_debug("Processing rewind...");
 | 
			
		||||
 | 
			
		||||
    while ((o = pa_hashmap_iterate(s->thread_info.outputs, &state, NULL))) {
 | 
			
		||||
    PA_HASHMAP_FOREACH(o, s->thread_info.outputs, state) {
 | 
			
		||||
        pa_source_output_assert_ref(o);
 | 
			
		||||
        pa_source_output_process_rewind(o, nbytes);
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue