mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	clean up event generation a little: suppress unnecessary events and generate new ones on owner change
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1212 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
		
							parent
							
								
									47d009afd6
								
							
						
					
					
						commit
						3aba099fc3
					
				
					 4 changed files with 22 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -437,6 +437,12 @@ void pa_sink_input_set_name(pa_sink_input *i, const char *name) {
 | 
			
		|||
    assert(i);
 | 
			
		||||
    assert(i->ref >= 1);
 | 
			
		||||
 | 
			
		||||
    if (!i->name && !name)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    if (i->name && name && !strcmp(i->name, name))
 | 
			
		||||
        return;
 | 
			
		||||
    
 | 
			
		||||
    pa_xfree(i->name);
 | 
			
		||||
    i->name = pa_xstrdup(name);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -447,10 +447,15 @@ void pa_sink_set_owner(pa_sink *s, pa_module *m) {
 | 
			
		|||
    assert(s);
 | 
			
		||||
    assert(s->ref >= 1);
 | 
			
		||||
 | 
			
		||||
    if (s->owner == m)
 | 
			
		||||
        return;
 | 
			
		||||
    
 | 
			
		||||
    s->owner = m;
 | 
			
		||||
 | 
			
		||||
    if (s->monitor_source)
 | 
			
		||||
        pa_source_set_owner(s->monitor_source, m);
 | 
			
		||||
 | 
			
		||||
    pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SINK|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void pa_sink_set_volume(pa_sink *s, pa_mixer_t m, const pa_cvolume *volume) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -209,6 +209,12 @@ void pa_source_output_set_name(pa_source_output *o, const char *name) {
 | 
			
		|||
    assert(o);
 | 
			
		||||
    assert(o->ref >= 1);
 | 
			
		||||
 | 
			
		||||
    if (!o->name && !name)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
    if (o->name && name && !strcmp(o->name, name))
 | 
			
		||||
        return;
 | 
			
		||||
    
 | 
			
		||||
    pa_xfree(o->name);
 | 
			
		||||
    o->name = pa_xstrdup(name);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -226,7 +226,11 @@ void pa_source_set_owner(pa_source *s, pa_module *m) {
 | 
			
		|||
    assert(s);
 | 
			
		||||
    assert(s->ref >= 1);
 | 
			
		||||
 | 
			
		||||
    if (m == s->owner)
 | 
			
		||||
        return;
 | 
			
		||||
    
 | 
			
		||||
    s->owner = m;
 | 
			
		||||
    pa_subscription_post(s->core, PA_SUBSCRIPTION_EVENT_SOURCE|PA_SUBSCRIPTION_EVENT_CHANGE, s->index);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pa_usec_t pa_source_get_latency(pa_source *s) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue