diff --git a/spa/plugins/alsa/acp/alsa-util.c b/spa/plugins/alsa/acp/alsa-util.c index cf8fee8be..a87dedd1d 100644 --- a/spa/plugins/alsa/acp/alsa-util.c +++ b/spa/plugins/alsa/acp/alsa-util.c @@ -1412,13 +1412,31 @@ char *pa_alsa_get_reserve_name(const char *device) { return pa_sprintf_malloc("Audio%i", i); } +static void dump_supported_rates(unsigned int* values) +{ + pa_strbuf *buf; + char *str; + int i; + + buf = pa_strbuf_new(); + + for (i = 0; values[i]; i++) { + pa_strbuf_printf(buf, " %u", values[i]); + } + + str = pa_strbuf_to_string_free(buf); + pa_log_debug("Supported rates:%s", str); + pa_xfree(str); +} + unsigned int *pa_alsa_get_supported_rates(snd_pcm_t *pcm, unsigned int fallback_rate) { static unsigned int all_rates[] = { 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000, 128000, 176400, 192000, - 384000 }; + 352800, 384000, + 705600, 768000 }; bool supported[PA_ELEMENTSOF(all_rates)] = { false, }; snd_pcm_hw_params_t *hwparams; unsigned int i, j, n, *rates = NULL; diff --git a/spa/plugins/alsa/acp/compat.h b/spa/plugins/alsa/acp/compat.h index ac8c42087..2376b8e5f 100644 --- a/spa/plugins/alsa/acp/compat.h +++ b/spa/plugins/alsa/acp/compat.h @@ -98,7 +98,7 @@ typedef enum pa_available { PA_AVAILABLE_YES = 2, } pa_available_t; -#define PA_RATE_MAX (48000U*8U) +#define PA_RATE_MAX (48000U*16U) typedef enum pa_sample_format { PA_SAMPLE_U8, /**< Unsigned 8 Bit PCM */