mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	- Check process name when dealing with PID files
- Add new PA_STREAM_FIX_CHANNELS, FIX_RATE, FIX_FORMAT, DONT_MOVE, VARIABLE_RATES to pa_sream_flags_t adn implement it - Expose those flags in pacat - Add notifications about device suspend/resume to the protocol and expose them in libpulse - Allow changing of buffer_attr during playback - allow disabling for remixing globally - hookup polkit support git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@2067 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
		
							parent
							
								
									4ac6b53478
								
							
						
					
					
						commit
						14a9b80afb
					
				
					 27 changed files with 1498 additions and 231 deletions
				
			
		| 
						 | 
				
			
			@ -149,23 +149,16 @@ pa_sink* pa_sink_new(
 | 
			
		|||
 | 
			
		||||
static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
 | 
			
		||||
    int ret;
 | 
			
		||||
    pa_bool_t suspend_change;
 | 
			
		||||
 | 
			
		||||
    pa_assert(s);
 | 
			
		||||
 | 
			
		||||
    if (s->state == state)
 | 
			
		||||
        return 0;
 | 
			
		||||
 | 
			
		||||
    if ((s->state == PA_SINK_SUSPENDED && PA_SINK_OPENED(state)) ||
 | 
			
		||||
        (PA_SINK_OPENED(s->state) && state == PA_SINK_SUSPENDED)) {
 | 
			
		||||
        pa_sink_input *i;
 | 
			
		||||
        uint32_t idx;
 | 
			
		||||
 | 
			
		||||
        /* We're suspending or resuming, tell everyone about it */
 | 
			
		||||
 | 
			
		||||
        for (i = PA_SINK_INPUT(pa_idxset_first(s->inputs, &idx)); i; i = PA_SINK_INPUT(pa_idxset_next(s->inputs, &idx)))
 | 
			
		||||
            if (i->suspend)
 | 
			
		||||
                i->suspend(i, state == PA_SINK_SUSPENDED);
 | 
			
		||||
    }
 | 
			
		||||
    suspend_change =
 | 
			
		||||
        (s->state == PA_SINK_SUSPENDED && PA_SINK_OPENED(state)) ||
 | 
			
		||||
        (PA_SINK_OPENED(s->state) && state == PA_SINK_SUSPENDED);
 | 
			
		||||
 | 
			
		||||
    if (s->set_state)
 | 
			
		||||
        if ((ret = s->set_state(s, state)) < 0)
 | 
			
		||||
| 
						 | 
				
			
			@ -176,8 +169,20 @@ static int sink_set_state(pa_sink *s, pa_sink_state_t state) {
 | 
			
		|||
 | 
			
		||||
    s->state = state;
 | 
			
		||||
 | 
			
		||||
    if (suspend_change) {
 | 
			
		||||
        pa_sink_input *i;
 | 
			
		||||
        uint32_t idx;
 | 
			
		||||
 | 
			
		||||
        /* We're suspending or resuming, tell everyone about it */
 | 
			
		||||
 | 
			
		||||
        for (i = PA_SINK_INPUT(pa_idxset_first(s->inputs, &idx)); i; i = PA_SINK_INPUT(pa_idxset_next(s->inputs, &idx)))
 | 
			
		||||
            if (i->suspend)
 | 
			
		||||
                i->suspend(i, state == PA_SINK_SUSPENDED);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (state != PA_SINK_UNLINKED) /* if we enter UNLINKED state pa_sink_unlink() will fire the apropriate events */
 | 
			
		||||
        pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_STATE_CHANGED], s);
 | 
			
		||||
 | 
			
		||||
    return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue