Skip to content

Commit 641a156

Browse files
authored
Merge pull request #340 from epicfrequency/patch-1
ALSA: usb-audio: Eliminate noise at the start of DSD playback.
2 parents 30e08c7 + d34872b commit 641a156

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

sound/usb/endpoint.c

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -592,7 +592,21 @@ static int data_ep_set_params(struct snd_usb_endpoint *ep,
592592

593593
ep->datainterval = fmt->datainterval;
594594
ep->stride = frame_bits >> 3;
595-
ep->silence_value = pcm_format == SNDRV_PCM_FORMAT_U8 ? 0x80 : 0;
595+
596+
switch (pcm_format) {
597+
case SNDRV_PCM_FORMAT_U8:
598+
ep->silence_value = 0x80;
599+
break;
600+
case SNDRV_PCM_FORMAT_DSD_U8:
601+
case SNDRV_PCM_FORMAT_DSD_U16_LE:
602+
case SNDRV_PCM_FORMAT_DSD_U32_LE:
603+
case SNDRV_PCM_FORMAT_DSD_U16_BE:
604+
case SNDRV_PCM_FORMAT_DSD_U32_BE:
605+
ep->silence_value = 0x69;
606+
break;
607+
default:
608+
ep->silence_value = 0;
609+
}
596610

597611
/* assume max. frequency is 25% higher than nominal */
598612
ep->freqmax = ep->freqn + (ep->freqn >> 2);

0 commit comments

Comments
 (0)