Hello Martin. Could it be that you did not understand what I try to demonstrate ?
In ALSA code, snd_pcm_drop(pcm) does nothing more than stop the timer of the alsa object. snd_pcm_drop(pcm) ===> snd_timer_hw_stop(snd_timer). But, sadly, snd_timer_hw_stop(snd_timer) does not work ;-(. Here the ALSA code static int snd_timer_hw_stop(snd_timer_t *handle) { snd_timer_t *tmr; unsigned int cmd; tmr = handle; if (!tmr) return -EINVAL; if (tmr->version < SNDRV_PROTOCOL_VERSION(2, 0, 4)) cmd = SNDRV_TIMER_IOCTL_STOP_OLD; else cmd = SNDRV_TIMER_IOCTL_STOP; if (ioctl(tmr->poll_fd, cmd) < 0) return -errno; return 0; } IMHO, cmd = SNDRV_TIMER_IOCTL_STOP does not work. ====> #define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1) Maybe 0xa1 is not the good one for stopping the timer. And because I do not find the resolution of that bug, I propose the workaround (that is not yours, you said) for Pcaudio.so. Of course if the ALSA-timer-stop bug can be solved, it would be better. Fre;D -- Sent from: http://mseide-msegui-talk.13964.n8.nabble.com/ ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ mseide-msegui-talk mailing list mseide-msegui-talk@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk