JackOfAll wrote: > > Code: -------------------- > > > [00:00:32.104897] output_init_common:410 supported rates: 384000 352800 192000 176400 96000 88200 48000 44100 32000 24000 22500 16000 12000 11025 8000 > -------------------- > >
Hi Clive Thanks for looking into this. I don't know where these rates are coming from. I added the patches you provided + some I found at the raspberry forum, which have been working before. As far as I understand we need to go for 32_LE in order to allow 24 bit throughput. Therefore, I added that piece also See here: http://www.raspberrypi.org/forums/viewtopic.php?t=25810 Finally, I increased the periods_max and period_bytes_max as this previously fixed some clicking problems - but I'm not sure that it is needed anymore. So all in all this is my version (changes marked in bold): Code: -------------------- /* hardware definition */ static struct snd_pcm_hardware snd_bcm2835_playback_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_U8 | SNDRV_PCM_FMTBIT_S16_LE* | SNDRV_PCM_FMTBIT_S32_LE*, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_8000*_192000*, .rate_min = 8000, .rate_max = *192000*, .channels_min = 1, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = *256* * 1024, .periods_min = 1, .periods_max = *256*, }; static struct snd_pcm_hardware snd_bcm2835_playback_spdif_hw = { .info = (SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER | SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID), .formats = SNDRV_PCM_FMTBIT_S16_LE *| SNDRV_PCM_FMTBIT_S32_LE*, .rates = SNDRV_PCM_RATE_CONTINUOUS | SNDRV_PCM_RATE_44100 | SNDRV_PCM_RATE_48000 *| SNDRV_PCM_RATE_88200 | SNDRV_PCM_RATE_96000 | * * SNDRV_PCM_RATE_176400 | SNDRV_PCM_RATE_192000*, .rate_min = 44100, .rate_max = *192000*, .channels_min = 2, .channels_max = 2, .buffer_bytes_max = 128 * 1024, .period_bytes_min = 1 * 1024, .period_bytes_max = *256* * 1024, .periods_min = 1, .periods_max = *256*, }; -------------------- The reason for the former piCorePlayer not outputting anything higher than 48 Kz was because of an error in our asound.conf file, so that it did not bypass the dmixer which would resample everything to 48 khz. The present one seems to be OK: Code: -------------------- #use you own ALSA settings below pcm.!default { type plug slave.pcm hw } -------------------- Any help is highly appreciated. Regards Steen piCorePlayer a small player for the Raspberry Pi in RAM. Homepage: https://sites.google.com/site/picoreplayer/home *Please 'donate' (https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=U7JHY5WYHCNRU&lc=GB¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) if you like the piCorePlayer* ------------------------------------------------------------------------ sbp's Profile: http://forums.slimdevices.com/member.php?userid=37237 View this thread: http://forums.slimdevices.com/showthread.php?t=97803 _______________________________________________ unix mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/unix
