[pulseaudio-discuss] pulse client implementation

Rémi Denis-Courmont remi at remlab.net
Thu Mar 27 01:06:19 PDT 2014

On Wed, 26 Mar 2014 19:22:50 +0000, Pete Beardmore
<pete.beardmore at msn.com>
> specifically, the scenario whereby a user has explicitly configured  
> the app (via config file - read on initialisation) to use 'sinkX', and  
> then at some point during their 'session' (by which i mean 'time up  
> until the binary is killed'), has moved the app's current stream to an  
> alternative sink, 'sinkY'. finally, playback is stopped and restarted
> the question is, which sink should be used for the new playback stream?

Well... the sink that the user expects to be used should be used.

> the two takes on this were:
> 1. the user explicitly specified 'sinkX' in the configuration, so  
> that's where it should play next
> 2. the user explicitly moved the playback to 'sinkY', so that's where  
> it should play next

Both approaches have their logic. Neither will satisfy every user.

As Tanu says, it might be yet better to not have a persistent device
settings for PulseAudio within the application at all. That's the path I
took with "my" application (VLC media player). In addition, if the user
selects a specific sink in the UI while there is no audio stream, we retain
until the next audio stream starts or the application exits.

This is not perfect:
1) We do not know what sink to hilight in the list of sinks when there is
no audio stream - unless the user explicitly selected one sink via the GUI.
2) If the user selects a sink in the GUI, then exits the application
without starting an audio stream, we forget the user setting completely.

Rémi Denis-Courmont
Sent from my collocated server

More information about the pulseaudio-discuss mailing list