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&currency_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

Reply via email to