On Dec 18, 2007 1:42 PM, Lennart Poettering &lt;<a href="mailto:lennart@poettering.net">lennart@poettering.net</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Mon, 17.12.07 18:07, Ritesh Kumar (<a href="mailto:ritesh@cs.unc.edu">ritesh@cs.unc.edu</a>) wrote:<br><br>&gt; &gt; I&#39;d say the intuitiveness depends on whether one&#39;s intuition<br>&gt; &gt; says that the client connects to a sink (routing decision
<br>&gt; &gt; done at client connection time) or to the pulseaudio daemon<br>&gt; &gt; (routing decision done at stream creation time). The<br>&gt; &gt; asynchronous client API supports the view that client<br>&gt; &gt; connects to the daemon, because the desired sink is supplied
<br>&gt; &gt; only when creating a new stream.<br>&gt; &gt;<br>&gt;<br>&gt; I guess you are right... probably I will write a module on the lines of<br>&gt; volume-restore to achieve the effect I need. I seems intuitive to me because
<br>&gt; the media player that I use (quodlibet through alsa-pulse), creates a new<br>&gt; stream for every song (I don&#39;t know the details but I am guessing that every<br>&gt; media player may need to do this because different songs can have different
<br>&gt; sample rates/formats). This causes subsequent songs from the same media<br>&gt; player to move to a different sink if the default sink is changed... which<br>&gt; in my view is non-intuitive :).<br><br></div>If you have loaded module-volume-restore than this should not
<br>happen, because m-v-r remembers the device/volume for the application<br>using the application name as a key. And as soon as the new stream is<br>created and the application name is recognized the default<br>device/volume for its streams is restored.
<br><div class="Ih2E3d"></div></blockquote><div class="Ih2E3d"><br>That&#39;s right... but module-volume-restore remembers the sink for the client between client connects. So the next time the same client connects, module-volume-restore will not assign its streams to the default sink but one that it has saved.
<br>Basically, I need a module which assigns the default sink to a new connecting client and passes all its streams to that sink regardless of the current default sink (by default pulseaudio uses the default sink for any new sink-inputs). However, if the client disconnects and connects again, it should use the new default sink for the streams of the client (module-volume-restore preserves the sink for the client between client connects). The module could be called some thing like module-preserve-client-sink or something.
<br><br>Ritesh<br></div></div><br>