* mpd + emu 0404 USB automatic sample rate
@ 2014-07-19 21:50 Killer{R}
0 siblings, 0 replies; only message in thread
From: Killer{R} @ 2014-07-19 21:50 UTC (permalink / raw)
To: alsa-devel
Hello alsa-devel,
I'm trying to build bit-perfect music playback box using Olinuxino board
and EMU 0404 USB sound card running MPD. I have wide collection of lossless
songs with different sampling rates - from 44100 to 192000. I set MPD config
to play sound via correct alsa device and it works, however whenever I start
play song with different sampling rate - MPD (or ALSA?) 'forgets' to switch
sampling rate frequency and I hear buzzing sound instead of music. If I run
alsamixer and manually switch there sampling rate - it plays OK until I
select song with again different sampling rate.
It seems I'm not first with such a problem, here is same complain
with a workadound: http://murga-linux.com/puppy/viewtopic.php?p=745547#745547
Currently I'm running sunxi Linux kernel: 3.4.90, but same bug reproduced when I
used Raspberry PI with kernel 3.6.11
ALSA's version: cat /proc/asound/version
Advanced Linux Sound Architecture Driver Version 1.0.25.
Seems I was able to fix this on my system, but not sure if this fix is
correct, here is diff:
--- quirks.c Fri Jul 18 01:20:16 2014
+++ quirks.c Sun Jul 20 00:20:49 2014
@@ -723,7 +723,8 @@ static void set_format_emu_quirk(struct
* by playback substream
*/
if (subs->direction == SNDRV_PCM_STREAM_PLAYBACK) {
- if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1)
+ if (subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].interface != -1 &&
+ subs->stream->substream[SNDRV_PCM_STREAM_CAPTURE].running)
return;
}
--
Best regards,
Killer{R} mailto:support@killprog.com
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-07-19 21:50 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-19 21:50 mpd + emu 0404 USB automatic sample rate Killer{R}
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox