At Thu, 27 Sep 2007 14:16:29 +0200 (CEST), Anders Boström wrote: > > >>>>> "TI" == Takashi Iwai <tiwai@xxxxxxx> writes: > > TI> At Tue, 18 Sep 2007 09:41:48 +0200 (CEST), > TI> Anders Boström wrote: > >> > >> >>>>> "TI" == Takashi Iwai <tiwai@xxxxxxx> writes: > >> > >> >> can one please have a lokk at this? aplay -N isn't working for the > >> >> OP. > >> > TI> Cannot reproduce here. Could you _post_ more details? > >> > >> OK, I've tested more, and discovered that the problem seems to be that > >> the end of the sound is cut in non-blocking mode. And if I play a very > >> short sound-file, I can't hear anything. Blocking mode works fine. > >> > >> When using non-blocking mode, an strace contains "ioctl(4, 0x4144, > >> 0x2b9f785d8000) = -1 EAGAIN (Resource temporarily > >> unavailable)". Blocking mode never contains the EAGAIN response. > >> > >> I attach two files. When playing halt.au, I can only hear the start, > >> about as much as "ha". When playing metal.au, I can't hear anything. > > TI> OK, thanks, I see the problem now. > > TI> I don't remember whether it's a feature or a bug. The drain ioctl > TI> rejects the non-block mode. > > I can understand the idea here, that in non-blocking mode, no call > should block, ever. But on the other hand, if you call the drain > ioctl, you probably expect it to work, even in non-blocking mode. Why > would you otherwise call it? Yes, that's my opinion, too. This particular ioctl is to block the operation, so it should be allowed as long as it's called. But I vaguely remember that we discussed about it, and the current form is the result of that. Namely, we can call snd_pcm_nonblock(FALSE) explicitly before calling snd_pcm_drain(). Though, I prefer fixing the behavior in the core side to allow the blocking with this call... Any reasonable objections in mind? Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel