[alsa-devel] RFC: support for 12 & 24Khz

David Henningsson david.henningsson at canonical.com
Thu Jul 25 08:45:15 CEST 2013


On 07/24/2013 07:26 PM, Vinod Koul wrote:
> Hey Takashi,
>
> For compressed audio we also need to support the PCM rates of 12 and 24KHz.
>
> Looking at pcm.h these are not defined so we can simply add them at the end.
> But am worried about wider impact of adding these rates.
>
> Can you let me know if more is required to be done or below is fine
>
> diff --git a/include/sound/pcm.h b/include/sound/pcm.h
> index 84b10f9..e418d8d 100644
> --- a/include/sound/pcm.h
> +++ b/include/sound/pcm.h
> @@ -126,6 +126,8 @@ struct snd_pcm_ops {
>   #define SNDRV_PCM_RATE_96000           (1<<10)         /* 96000Hz */
>   #define SNDRV_PCM_RATE_176400          (1<<11)         /* 176400Hz */
>   #define SNDRV_PCM_RATE_192000          (1<<12)         /* 192000Hz */
> +#define SNDRV_PCM_RATE_12000           <1<<13>         /* 12000Hz */
> +#define SNDRV_PCM_RATE_24000           <1<<14>         /* 24000Hz */

You probably meant (1<<13), not <1<<13> ?

>
>   #define SNDRV_PCM_RATE_CONTINUOUS      (1<<30)         /* continuous range */
>   #define SNDRV_PCM_RATE_KNOT            (1<<31)         /* supports more
> non-continuos rates */
> diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
> index a68d4c6..42600b0 100644
> --- a/sound/core/pcm_native.c
> +++ b/sound/core/pcm_native.c
> @@ -1779,12 +1779,13 @@ static int snd_pcm_hw_rule_sample_bits(struct
> snd_pcm_hw_params *params,
>          return snd_interval_refine(hw_param_interval(params, rule->var), &t);
>   }
>
> -#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_192000 != 1 << 12
> +#if SNDRV_PCM_RATE_5512 != 1 << 0 || SNDRV_PCM_RATE_24000 != 1 << 14
>   #error "Change this table"
>   #endif
>
>   static unsigned int rates[] = { 5512, 8000, 11025, 16000, 22050, 32000, 44100,
> -                                 48000, 64000, 88200, 96000, 176400, 192000 };
> +                                 48000, 64000, 88200, 96000, 176400, 192000,
> +                                 12000, 24000 };
>
>   const struct snd_pcm_hw_constraint_list snd_pcm_known_rates = {
>          .count = ARRAY_SIZE(rates),
>
> ~Vinod
>



-- 
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


More information about the Alsa-devel mailing list