[pulseaudio-discuss] [PATCH] source-output: Log the format negotiation result

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Fri Nov 22 09:24:43 PST 2013


On Thu, 2013-11-14 at 11:01 +0200, Tanu Kaskinen wrote:
> This makes the source output code match the sink input code.
> ---
>  src/pulsecore/source-output.c | 15 +++++++++++++--
>  1 file changed, 13 insertions(+), 2 deletions(-)
> 
> diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
> index b158f14..a901bc0 100644
> --- a/src/pulsecore/source-output.c
> +++ b/src/pulsecore/source-output.c
> @@ -220,7 +220,7 @@ int pa_source_output_new(
>  
>      pa_source_output *o;
>      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;
> @@ -276,7 +276,18 @@ int pa_source_output_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("Source 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 */

No feedback received, I pushed this now.

-- 
Tanu



More information about the pulseaudio-discuss mailing list