At Tue, 01 Sep 2009 12:32:27 +0200, Halim Sahin wrote:
On Mo, Aug 31 2009, Takashi Iwai wrote:
At Sun, 23 Aug 2009 09:55:18 +0000 (UTC), Halim Sahin wrote:
Hello, Is there a way to reduce latency on audiocard if the dmix plugin is in use? I am asking because there is a strange problem with asistive technologies which are outputing through alsa. E. G. speech-dispatcher takes almost a half sec to stop the speech-synthesizer. If the user navigates quickly through menus, there are simultane outputs at a time. (tested with an usb logitech headset, snd-intel8x0 based card, snd-hda-intel). The same problem can be reproduced by running mplayer with alsa output driver and pressing quickly left/right arrow. You should hear several samples at a time.
Using an sblive card which doesn't use dmix doesn't have such problems.
Using the dmix plugin should audio much faster to avoid this problem.
It's a bit hard to guess. This could be the difference of PCM drain implementation between hw and dmix, but a half second is still too long.
Could you prepare a small test case to reproduce the buggy behavior?
Yes that's easy: The following should be tested with active dmix.
- login to a textconsole
- mplayer -ao alsa your_favourite_file
- Press space during playback.
Result: it takes about an half sec to stop the playback.
This isn't a test case to analyze. If the app you mentioned is using libao as the backend, then yes, it's the same issue. If not, it just appears same, but you don't know whether it's the same.
At best, we need a small C code that reproduces the behavior.
The second test would be:
- login to a console
- mplayer -ao alsa:device=hw=0,0 your_file
- press space during playback
Result: The playback stops without delay
This could be also the difference whether the device supports pause or not, too.
Takashi