sink-input: Log format negotiation better

This provides more details on format negotiation success and failure to
make debugging problems easier.
This commit is contained in:
Arun Raghavan 2013-06-15 09:42:02 +05:30
parent 4e05333a93
commit 2c1dceeb58

View file

@ -283,7 +283,7 @@ int pa_sink_input_new(
pa_sink_input *i;
pa_resampler *resampler = NULL;
char st[PA_SAMPLE_SPEC_SNPRINT_MAX], cm[PA_CHANNEL_MAP_SNPRINT_MAX];
char st[PA_SAMPLE_SPEC_SNPRINT_MAX], cm[PA_CHANNEL_MAP_SNPRINT_MAX], fmt[PA_FORMAT_INFO_SNPRINT_MAX];
pa_channel_map original_cm;
int r;
char *pt;
@ -331,7 +331,18 @@ int pa_sink_input_new(
if (!data->format && data->nego_formats && !pa_idxset_isempty(data->nego_formats))
data->format = pa_format_info_copy(pa_idxset_first(data->nego_formats, NULL));
pa_return_val_if_fail(data->format, -PA_ERR_NOTSUPPORTED);
if (PA_LIKELY(data->format)) {
pa_log_debug("Negotiated format: %s", pa_format_info_snprint(fmt, sizeof(fmt), data->format));
} else {
pa_format_info *format;
uint32_t idx;
pa_log_info("Sink does not support any requested format:");
PA_IDXSET_FOREACH(format, data->req_formats, idx)
pa_log_info(" -- %s", pa_format_info_snprint(fmt, sizeof(fmt), format));
return -PA_ERR_NOTSUPPORTED;
}
/* Now populate the sample spec and format according to the final
* format that we've negotiated */