]> git.alsa-project.org Git - alsa-lib.git/commitdiff
pcm: 2nd round of pcm_misc DSD fixes
authorJurgen Kramer <gtmkramer@xs4all.nl>
Fri, 22 Aug 2014 08:15:10 +0000 (10:15 +0200)
committerTakashi Iwai <tiwai@suse.de>
Fri, 22 Aug 2014 09:15:30 +0000 (11:15 +0200)
Functions 'snd_pcm_format_silence_64' and 'snd_pcm_format_size' also need to be
able to handle the DSD smaple format.

Changes from v1:
- Correct silence pattern for DSD

Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
src/pcm/pcm_misc.c

index 24d52f910cb666a7bfc0b0023353b26cf7e1a5a3..46fc7719978efb05e438cc15649f9ce0bd7c530f 100644 (file)
@@ -317,11 +317,13 @@ ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples)
        switch (format) {
        case SNDRV_PCM_FORMAT_S8:
        case SNDRV_PCM_FORMAT_U8:
+       case SNDRV_PCM_FORMAT_DSD_U8:
                return samples;
        case SNDRV_PCM_FORMAT_S16_LE:
        case SNDRV_PCM_FORMAT_S16_BE:
        case SNDRV_PCM_FORMAT_U16_LE:
        case SNDRV_PCM_FORMAT_U16_BE:
+       case SNDRV_PCM_FORMAT_DSD_U16_LE:
                return samples * 2;
        case SNDRV_PCM_FORMAT_S18_3LE:
        case SNDRV_PCM_FORMAT_S18_3BE:
@@ -390,6 +392,9 @@ u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format)
                return 0;
        case SNDRV_PCM_FORMAT_U8:
                return 0x8080808080808080ULL;
+       case SNDRV_PCM_FORMAT_DSD_U8:
+       case SNDRV_PCM_FORMAT_DSD_U16_LE:
+               return 0x6969696969696969ULL;
 #ifdef SNDRV_LITTLE_ENDIAN
        case SNDRV_PCM_FORMAT_U16_LE:
                return 0x8000800080008000ULL;