module-allow-passthrough: Don't crash if we can't find a sink

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.
This commit is contained in:
Arun Raghavan 2018-05-04 21:59:23 +05:30
parent 66e8ec3453
commit f9f9877d18

View file

@ -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);