Is there a spec/blueprint for this some where?<br><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;">
<br>
&gt;-----Original Message-----<br>
&gt;From: <a href="mailto:pulseaudio-discuss-bounces@mail.0pointer.de" target="_blank">pulseaudio-discuss-bounces@mail.0pointer.de</a> [mailto:<a href="mailto:pulseaudio-" target="_blank">pulseaudio-</a><br>
&gt;<a href="mailto:discuss-bounces@mail.0pointer.de" target="_blank">discuss-bounces@mail.0pointer.de</a>] On Behalf Of Lennart Poettering<br>
&gt;Sent: 2009Äê1ÔÂ23ÈÕ 6:36<br>
&gt;To: <a href="mailto:pulseaudio-discuss@mail.0pointer.de" target="_blank">pulseaudio-discuss@mail.0pointer.de</a><br>
&gt;Subject: Re: [pulseaudio-discuss] why command_cork_playback_stream() will<br>
&gt;be invoked many times?<br>
&gt;<br>
&gt;On Tue, 20.01.09 10:13, pl bossart (<a href="mailto:bossart.nospam@gmail.com" target="_blank">bossart.nospam@gmail.com</a>) wrote:<br>
&gt;<br>
&gt;&gt; Hi Lennart,<br>
&gt;&gt; Here is the use case Xing is referring to: you are listening to music,<br>
&gt;and a<br>
&gt;&gt; VoIP call starts. The user may not want to mix the music and the speech<br>
&gt;&gt; call.<br>
&gt;&gt;<br>
&gt;&gt; So the idea is to pause the music while the call takes place, and resume<br>
&gt;the<br>
&gt;&gt; music once the call finishes. PulseAudio receives both streams, and it<br>
&gt;would<br>
&gt;&gt; seem natural to configure said behavior in a PulseAudio module. So we<br>
&gt;either<br>
&gt;&gt; need the ability to pause a stream within PulseAudio, or we need a means<br>
&gt;to<br>
&gt;&gt; inform the client they need to pause.<br>
&gt;&gt;<br>
&gt;&gt; I agree with you that pausing may create timing havoc on the client; but<br>
&gt;we<br>
&gt;&gt; are missing a generic protocol to notify the clients and implement this<br>
&gt;&gt; legitimate use case.<br>
&gt;<br>
&gt;This issue has come up before. e.g. Nokia folks needs this kind of<br>
&gt;policy enforcing module, too.<br>
&gt;<br>
&gt;Simply pausing client streams without having explicit client support<br>
&gt;for it is not really an option though. So I generally think the way<br>
&gt;forward is like this:<br>
&gt;<br>
&gt;1) Add an API to PA to allow informing clients of policy requests from the<br>
&gt; &nbsp; server. i.e. add some mechanism so that clients that allocate a<br>
&gt; &nbsp; pa_stream object can set a callback that is called whenever some<br>
&gt; &nbsp; policy engine inside PA wants the client to stop/pause/resume<br>
&gt; &nbsp; playback or has similar requests. It would then be up to the<br>
&gt; &nbsp; client to actually do something about it and then pause the stream<br>
&gt; &nbsp; and update the UI accordingly.<br>
&gt;<br>
&gt; &nbsp; Such an &quot;inline&quot; policy request notification subsystem should be<br>
&gt; &nbsp; trivial to add. This should probably be extensible so that we can add<br>
&gt; &nbsp; further notifications such as keypresses from BT devices or jack<br>
&gt; &nbsp; sensing events from the sink.<br>
&gt;<br>
&gt;2) Add a GStreamer interface for events like this.<br>
&gt;<br>
&gt;3) If a client doesn&#39;t handle these request the streams in question<br>
&gt; &nbsp; should simply be muted/unmuted.<br>
&gt;<br>
&gt;That&#39;s the rough plan I have. Patches always welcome.<br>
&gt;<br>
&gt;Lennart<br>
&gt;<br>
&gt;--<br>
&gt;Lennart Poettering &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Red Hat, Inc.<br>
&gt;lennart [at] poettering [dot] net &nbsp; &nbsp; &nbsp; &nbsp; ICQ# 11060553<br>
&gt;<a href="http://0pointer.net/lennart/" target="_blank">http://0pointer.net/lennart/</a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; GnuPG 0x1A015CC4<br>
&gt;_______________________________________________<br>
&gt;pulseaudio-discuss mailing list<br>
&gt;<a href="mailto:pulseaudio-discuss@mail.0pointer.de" target="_blank">pulseaudio-discuss@mail.0pointer.de</a><br>
&gt;<a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss" target="_blank">https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss</a><br>
_______________________________________________<br>
pulseaudio-discuss mailing list<br>
<a href="mailto:pulseaudio-discuss@mail.0pointer.de" target="_blank">pulseaudio-discuss@mail.0pointer.de</a><br>
<a href="https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss" target="_blank">https://tango.0pointer.de/mailman/listinfo/pulseaudio-discuss</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>&quot;A little rudeness and disrespect can elevate a meaningless interaction to a battle of wills and add drama to an otherwise dull day.&quot; - Calven<br>