Le lundi 9 juin 2014, 14:51:53 Felipe Sateler a écrit :
> OK, thanks for explaining. I see that vlc creates the stream when it
> starts playback and destroys it when stopped (although not pause).
> 
> This leaves the following options:
> 
> 1. Pulseaudio could add a function to get the volume an output/input
> sink/source stream would get if it were created.

PulseAudio does not really have a notion of inactive session, as Windows 
does... I don't really see how that would work with the current architecture 
(not that I'm that familiar with it though).

> 2. VLC could create the stream on startup and destroy it on exit. This
> is what Clementine seems to do.

That is not possible since VLC may play different formats at successive times. 
Also...

> 3. VLC could, at startup, create a stream, get the volume and destroy
> the stream.

Because of flat volumes, doing that would potentially cause spurious changes to 
the master volume and glitches in mixer UIs.

Furthermore, all options 1 and 2 fail if another process creates a stream with 
the same role (or whatever matching criteria) in the mean time, and change the 
volume.

> Are there problems with going with option 2? This option has the added
> benefit the volume can potentially be controlled by another program
> before starting playback.

Ultimately, the problem is simple. On the one hand, PulseAudio developers 
consider that audio applications shall not show volume UI. Only the dedicated 
mixer application(s) and the session process grabbing the volume media keys 
shall be concerned with the volume. On the other hand, VLC GUI developers want 
to have a volume control.

The two perspectives are incompatible. That is not a technical problem; and 
thus it won't be solved by code.

-- 
Rémi Denis-Courmont
http://www.remlab.net/

_______________________________________________
pkg-pulseaudio-devel mailing list
pkg-pulseaudio-devel@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-pulseaudio-devel

Reply via email to