[pulseaudio-discuss] [PATCH] rtp-send: Don't inhibit suspending when connected to a monitor source
Tanu Kaskinen
tanu.kaskinen at linux.intel.com
Sat Feb 22 01:49:07 PST 2014
On Tue, 2014-02-18 at 12:00 +0200, Tanu Kaskinen wrote:
> The flag was originally set unconditionally, but it was removed in
> 298ffffd1a3cf5ac4fbfe9cf793a5eb59162f892, because the flag broke the
> use case where a normal source (e.g. a microphone) was used. The flag
> makes sense only with monitor sources, which should get suspended when
> nothing is playing to the monitored sink to avoid consuming bandwidth
> for sending silence.
I believe this commit message isn't entirely accurate about the
motivation for 298ffffd. Based on a recent discussion with Ben, the use
case that broke was actually one where a monitor source was used (Ben,
correct me if I'm wrong). So the situation is that some people want
rtp-send to produce silence when nothing is playing to a sink that is
being monitored, and some people want the RTP stream to pause. I think
the right thing to do is to by default set the DONT_INHIBIT_AUTO_SUSPEND
flag when capturing from a monitor source and leave it unset otherwise,
but allow the user to override this policy with a module argument.
I'll make a patch that adds an "allow_suspend_on_idle" argument to
module-rtp-send.
> ---
> src/modules/rtp/module-rtp-send.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/modules/rtp/module-rtp-send.c b/src/modules/rtp/module-rtp-send.c
> index 581e6be..eb31ed1 100644
> --- a/src/modules/rtp/module-rtp-send.c
> +++ b/src/modules/rtp/module-rtp-send.c
> @@ -378,6 +378,9 @@ int pa__init(pa_module*m) {
> pa_source_output_new_data_set_sample_spec(&data, &ss);
> pa_source_output_new_data_set_channel_map(&data, &cm);
>
> + if (s->monitor_of)
> + data.flags = PA_SOURCE_OUTPUT_DONT_INHIBIT_AUTO_SUSPEND;
> +
> pa_source_output_new(&o, m->core, &data);
> pa_source_output_new_data_done(&data);
--
Tanu
More information about the pulseaudio-discuss
mailing list