mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	sink, source: unify stream "attached" flag checking
The "attached" flag is only used for asserting that the stream is in the expected state when attaching or detaching. Sometimes the flag was checked and updated before calling the attach or detach callback, and sometimes after. I think it makes more sense to always check it before calling the callback.
This commit is contained in:
		
							parent
							
								
									74ff115342
								
							
						
					
					
						commit
						539eb5c244
					
				
					 2 changed files with 9 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -2536,14 +2536,14 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
 | 
			
		|||
             * sink input handling a few lines down at
 | 
			
		||||
             * PA_SINK_MESSAGE_START_MOVE, too. */
 | 
			
		||||
 | 
			
		||||
            pa_assert(i->thread_info.attached);
 | 
			
		||||
            i->thread_info.attached = false;
 | 
			
		||||
 | 
			
		||||
            if (i->detach)
 | 
			
		||||
                i->detach(i);
 | 
			
		||||
 | 
			
		||||
            pa_sink_input_set_state_within_thread(i, i->state);
 | 
			
		||||
 | 
			
		||||
            pa_assert(i->thread_info.attached);
 | 
			
		||||
            i->thread_info.attached = false;
 | 
			
		||||
 | 
			
		||||
            /* Since the caller sleeps in pa_sink_input_unlink(),
 | 
			
		||||
             * we can safely access data outside of thread_info even
 | 
			
		||||
             * though it is mutable */
 | 
			
		||||
| 
						 | 
				
			
			@ -2635,12 +2635,12 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
 | 
			
		|||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (i->detach)
 | 
			
		||||
                i->detach(i);
 | 
			
		||||
 | 
			
		||||
            pa_assert(i->thread_info.attached);
 | 
			
		||||
            i->thread_info.attached = false;
 | 
			
		||||
 | 
			
		||||
            if (i->detach)
 | 
			
		||||
                i->detach(i);
 | 
			
		||||
 | 
			
		||||
            /* Let's remove the sink input ...*/
 | 
			
		||||
            pa_hashmap_remove_and_free(s->thread_info.inputs, PA_UINT32_TO_PTR(i->index));
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2062,12 +2062,12 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
 | 
			
		|||
 | 
			
		||||
            pa_source_output_set_state_within_thread(o, o->state);
 | 
			
		||||
 | 
			
		||||
            if (o->detach)
 | 
			
		||||
                o->detach(o);
 | 
			
		||||
 | 
			
		||||
            pa_assert(o->thread_info.attached);
 | 
			
		||||
            o->thread_info.attached = false;
 | 
			
		||||
 | 
			
		||||
            if (o->detach)
 | 
			
		||||
                o->detach(o);
 | 
			
		||||
 | 
			
		||||
            if (o->thread_info.direct_on_input) {
 | 
			
		||||
                pa_hashmap_remove(o->thread_info.direct_on_input->thread_info.direct_outputs, PA_UINT32_TO_PTR(o->index));
 | 
			
		||||
                o->thread_info.direct_on_input = NULL;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue