On Fri, 2018-05-04 at 22:14 +0530, Arun Raghavan wrote: > module-allow-passthrough has a (necessary) hack to replicate the default > sink selection and format negotiation from sink-input.c. One thing that > got missed in this replication is the possibility that the sink input is > not compatible with the default sink. When this happen, we now exit > gracefully. > > Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=105578 > --- > src/modules/module-allow-passthrough.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/modules/module-allow-passthrough.c b/src/modules/module-allow-passthrough.c > index 16b421d79..f7c61559b 100644 > --- a/src/modules/module-allow-passthrough.c > +++ b/src/modules/module-allow-passthrough.c > @@ -184,6 +184,12 @@ static pa_hook_result_t sink_input_new_cb(pa_core *core, pa_sink_input_new_data > if (!new_data->format && new_data->nego_formats && !pa_idxset_isempty(new_data->nego_formats)) > new_data->format = pa_format_info_copy(pa_idxset_first(new_data->nego_formats, NULL)); > > + if (!new_data->format) { > + /* Sink doesn't support any requested format */ > + pa_log_debug("Default sink does not match sink input requested formats"); > + return PA_HOOK_OK; > + } > + > if (pa_sink_input_new_data_is_passthrough(new_data)) > return new_passthrough_stream(u, core, new_data->sink, NULL); Looks good to me. -- Tanu https://liberapay.com/tanuk https://www.patreon.com/tanuk