Could someone share some insight here?
This is an issue observed by Marcin on GNL platform. When he runs 'aplay Ring09.wav -vv -I' and press SPACE to pause/resume, aplay will complain: PAUSE command ignored (no hw support)
aplay.c will call snd_pcm_hw_params_can_pause() and decide whethter HW supports pause. It seems hw parameter indicates that PAUSE cannot be supported.
Here is snd_pcm_hw_params_can_pause defined in alsa-lib pcm.c /** 3487 * \brief Check if hardware supports pause 3488 * \param params Configuration space 3489 * \retval 0 Hardware doesn't support pause 3490 * \retval 1 Hardware supports pause 3491 * 3492 * This function should only be called when the configuration space 3493 * contains a single configuration. Call #snd_pcm_hw_params to choose 3494 * a single configuration from the configuration space. 3495 */ 3496 int snd_pcm_hw_params_can_pause(const snd_pcm_hw_params_t *params) 3497 { 3498 assert(params); 3499 if (CHECK_SANITY(params->info == ~0U)) { 3500 SNDMSG("invalid PCM info field"); 3501 return 0; /* FIXME: should be a negative error? */ 3502 } 3503 return !!(params->info & SNDRV_PCM_INFO_PAUSE); 3504 }
Thanks Mengdong