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