* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working [not found] ` <20070816.094636.-753684517.anders@netinsight.se> @ 2007-09-11 16:08 ` Elimar Riesebieter 2007-09-17 15:20 ` Takashi Iwai 0 siblings, 1 reply; 9+ messages in thread From: Elimar Riesebieter @ 2007-09-11 16:08 UTC (permalink / raw) Cc: alsa-devel, Anders Boström, 438118 [-- Attachment #1.1: Type: text/plain, Size: 2811 bytes --] forwarded 438118 alsa-devel@alsa-project.org stop Hi all, can one please have a lokk at this? aplay -N isn't working for the OP. On Thu, 16 Aug 2007 the mental interface of Anders Boström told: > >>>>> "ER" == Elimar Riesebieter <riesebie@lxtec.de> writes: > > >> strace aplay -N : > >> > >> ... > >> open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = -1 ENOENT (No such file or directory) > > ER> This file is provided by > ER> libasound2-plugins: /usr/lib/alsa-lib/libasound_module_rate_speexrate.so > > ER> Please install libasound2-plugins and try again. > > Thanks for the suggestion. > > Unfortunately, it didn't solve my problem, no sound when non-blocking > mode is used. New strace: > > strace aplay -N : > ... > open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = 5 > read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\22\0"..., 832) = 832 > fstat(5, {st_mode=S_IFREG|0644, st_size=20848, ...}) = 0 > mmap(NULL, 2116136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x2b9f792fe000 > mprotect(0x2b9f79302000, 2097152, PROT_NONE) = 0 > mmap(0x2b9f79502000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4000) = 0x2b9f79502000 > close(5) = 0 > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 > ioctl(4, 0xc2604110, 0x7fff3269ddd0) = 0 > ioctl(4, 0xc2604110, 0x7fff3269ddc0) = 0 > ioctl(4, 0xc2604111, 0x7fff3269ddc0) = 0 > ioctl(4, 0xc0884113, 0x7fff3269dd10) = 0 > ioctl(4, 0x80184132, 0x7fff3269dc70) = 0 > mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x2b9f79503000 > ioctl(4, 0xc0884113, 0x624e88) = 0 > ioctl(4, 0x4140, 0) = 0 > ioctl(4, 0xc0884113, 0x624e88) = 0 > read(3, "\377eO\333\337\370\344}\335_\377\330^l\356\361`j\336_l"..., 1001) = 1001 > read(3, "n{u^\342zl~e~_[\365_y\362_\363\350\337n[\347nmi`\367y\344"..., 604) = 604 > ioctl(4, 0x4144, 0x2b9f785d8000) = -1 EAGAIN (Resource temporarily unavailable) > close(3) = 0 > ioctl(4, 0x4143, 0x3) = 0 > munmap(0x2b9f79503000, 49152) = 0 > ioctl(4, 0x4112, 0) = 0 > close(4) = 0 > munmap(0x2b9f785d7000, 4096) = 0 > munmap(0x2b9f785d8000, 4096) = 0 > munmap(0x2b9f792fe000, 2116136) = 0 > exit_group(0) = ? I have no idea, so forwarded to alsa-dev then. THX in advance Elimar -- Experience is something you don't get until just after you need it! [-- Attachment #1.2: Digital signature --] [-- Type: application/pgp-signature, Size: 189 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-09-11 16:08 ` [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working Elimar Riesebieter @ 2007-09-17 15:20 ` Takashi Iwai 2007-09-18 7:41 ` Bug#438118: [alsa-devel] " Anders Boström 0 siblings, 1 reply; 9+ messages in thread From: Takashi Iwai @ 2007-09-17 15:20 UTC (permalink / raw) To: Elimar Riesebieter; +Cc: alsa-devel, Anders Boström, 438118 At Tue, 11 Sep 2007 18:08:11 +0200, Elimar Riesebieter wrote: > > forwarded 438118 alsa-devel@alsa-project.org > > stop > > Hi all, > > can one please have a lokk at this? aplay -N isn't working for the > OP. Cannot reproduce here. Could you _post_ more details? thanks, Takashi > On Thu, 16 Aug 2007 the mental interface of > Anders Boström told: > > > >>>>> "ER" == Elimar Riesebieter <riesebie@lxtec.de> writes: > > > > >> strace aplay -N : > > >> > > >> ... > > >> open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = -1 ENOENT (No such file or directory) > > > > ER> This file is provided by > > ER> libasound2-plugins: /usr/lib/alsa-lib/libasound_module_rate_speexrate.so > > > > ER> Please install libasound2-plugins and try again. > > > > Thanks for the suggestion. > > > > Unfortunately, it didn't solve my problem, no sound when non-blocking > > mode is used. New strace: > > > > strace aplay -N : > > ... > > open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = 5 > > read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\22\0"..., 832) = 832 > > fstat(5, {st_mode=S_IFREG|0644, st_size=20848, ...}) = 0 > > mmap(NULL, 2116136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x2b9f792fe000 > > mprotect(0x2b9f79302000, 2097152, PROT_NONE) = 0 > > mmap(0x2b9f79502000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4000) = 0x2b9f79502000 > > close(5) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269ddd0) = 0 > > ioctl(4, 0xc2604110, 0x7fff3269ddc0) = 0 > > ioctl(4, 0xc2604111, 0x7fff3269ddc0) = 0 > > ioctl(4, 0xc0884113, 0x7fff3269dd10) = 0 > > ioctl(4, 0x80184132, 0x7fff3269dc70) = 0 > > mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x2b9f79503000 > > ioctl(4, 0xc0884113, 0x624e88) = 0 > > ioctl(4, 0x4140, 0) = 0 > > ioctl(4, 0xc0884113, 0x624e88) = 0 > > read(3, "\377eO\333\337\370\344}\335_\377\330^l\356\361`j\336_l"..., 1001) = 1001 > > read(3, "n{u^\342zl~e~_[\365_y\362_\363\350\337n[\347nmi`\367y\344"..., 604) = 604 > > ioctl(4, 0x4144, 0x2b9f785d8000) = -1 EAGAIN (Resource temporarily unavailable) > > close(3) = 0 > > ioctl(4, 0x4143, 0x3) = 0 > > munmap(0x2b9f79503000, 49152) = 0 > > ioctl(4, 0x4112, 0) = 0 > > close(4) = 0 > > munmap(0x2b9f785d7000, 4096) = 0 > > munmap(0x2b9f785d8000, 4096) = 0 > > munmap(0x2b9f792fe000, 2116136) = 0 > > exit_group(0) = ? > > I have no idea, so forwarded to alsa-dev then. > > THX in advance > > Elimar > > > -- > Experience is something you don't get until > just after you need it! ^ permalink raw reply [flat|nested] 9+ messages in thread
* Bug#438118: [alsa-devel] [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-09-17 15:20 ` Takashi Iwai @ 2007-09-18 7:41 ` Anders Boström 2007-09-18 15:45 ` Takashi Iwai 0 siblings, 1 reply; 9+ messages in thread From: Anders Boström @ 2007-09-18 7:41 UTC (permalink / raw) To: tiwai; +Cc: riesebie, alsa-devel, 438118 [-- Attachment #1: Type: Text/Plain, Size: 3988 bytes --] >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: Hi! >> Hi all, >> >> 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. System info: ASUS A8V Deluxe motherboard with Athlon 64 3500+ CPU VIA 8237 with ALC850 sound Linux 2.6.22.2 kernel for amd64 Debian testing amd64 with: alsa-utils 1.0.14-1 libasound2 1.0.14a-2 libc6 2.6.1-1 I hope this helps. Please ask if you need more info. / Anders >> On Thu, 16 Aug 2007 the mental interface of >> Anders Boström told: >> >> > >>>>> "ER" == Elimar Riesebieter <riesebie@lxtec.de> writes: >> > >> > >> strace aplay -N : >> > >> >> > >> ... >> > >> open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = -1 ENOENT (No such file or directory) >> > >> > ER> This file is provided by >> > ER> libasound2-plugins: /usr/lib/alsa-lib/libasound_module_rate_speexrate.so >> > >> > ER> Please install libasound2-plugins and try again. >> > >> > Thanks for the suggestion. >> > >> > Unfortunately, it didn't solve my problem, no sound when non-blocking >> > mode is used. New strace: >> > >> > strace aplay -N : >> > ... >> > open("/usr/lib/alsa-lib/libasound_module_rate_speexrate.so", O_RDONLY) = 5 >> > read(5, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\22\0"..., 832) = 832 >> > fstat(5, {st_mode=S_IFREG|0644, st_size=20848, ...}) = 0 >> > mmap(NULL, 2116136, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 5, 0) = 0x2b9f792fe000 >> > mprotect(0x2b9f79302000, 2097152, PROT_NONE) = 0 >> > mmap(0x2b9f79502000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 5, 0x4000) = 0x2b9f79502000 >> > close(5) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269dec0) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269de00) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269ddd0) = 0 >> > ioctl(4, 0xc2604110, 0x7fff3269ddc0) = 0 >> > ioctl(4, 0xc2604111, 0x7fff3269ddc0) = 0 >> > ioctl(4, 0xc0884113, 0x7fff3269dd10) = 0 >> > ioctl(4, 0x80184132, 0x7fff3269dc70) = 0 >> > mmap(NULL, 49152, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0) = 0x2b9f79503000 >> > ioctl(4, 0xc0884113, 0x624e88) = 0 >> > ioctl(4, 0x4140, 0) = 0 >> > ioctl(4, 0xc0884113, 0x624e88) = 0 >> > read(3, "\377eO\333\337\370\344}\335_\377\330^l\356\361`j\336_l"..., 1001) = 1001 >> > read(3, "n{u^\342zl~e~_[\365_y\362_\363\350\337n[\347nmi`\367y\344"..., 604) = 604 >> > ioctl(4, 0x4144, 0x2b9f785d8000) = -1 EAGAIN (Resource temporarily unavailable) >> > close(3) = 0 >> > ioctl(4, 0x4143, 0x3) = 0 >> > munmap(0x2b9f79503000, 49152) = 0 >> > ioctl(4, 0x4112, 0) = 0 >> > close(4) = 0 >> > munmap(0x2b9f785d7000, 4096) = 0 >> > munmap(0x2b9f785d8000, 4096) = 0 >> > munmap(0x2b9f792fe000, 2116136) = 0 >> > exit_group(0) = ? >> >> I have no idea, so forwarded to alsa-dev then. >> >> THX in advance >> >> Elimar >> >> >> -- >> Experience is something you don't get until >> just after you need it! [-- Attachment #2: halt.au --] [-- Type: Audio/Basic, Size: 4698 bytes --] [-- Attachment #3: metal.au --] [-- Type: Audio/Basic, Size: 1638 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-09-18 7:41 ` Bug#438118: [alsa-devel] " Anders Boström @ 2007-09-18 15:45 ` Takashi Iwai 2007-09-27 12:16 ` Bug#438118: [alsa-devel] " Anders Boström 0 siblings, 1 reply; 9+ messages in thread From: Takashi Iwai @ 2007-09-18 15:45 UTC (permalink / raw) To: Anders Boström; +Cc: alsa-devel, 438118 At Tue, 18 Sep 2007 09:41:48 +0200 (CEST), Anders Boström wrote: > > >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: > > Hi! > > >> Hi all, > >> > >> 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. OK, thanks, I see the problem now. I don't remember whether it's a feature or a bug. The drain ioctl rejects the non-block mode. Anyway, a simple patch is below. Let me know if it works. Takashi diff -r 0028e39ead78 core/pcm_native.c --- a/core/pcm_native.c Tue Sep 18 00:52:38 2007 +0200 +++ b/core/pcm_native.c Tue Sep 18 17:44:31 2007 +0200 @@ -1368,8 +1368,6 @@ static int snd_pcm_prepare(struct snd_pc static int snd_pcm_pre_drain_init(struct snd_pcm_substream *substream, int state) { - if (substream->f_flags & O_NONBLOCK) - return -EAGAIN; substream->runtime->trigger_master = substream; return 0; } ^ permalink raw reply [flat|nested] 9+ messages in thread
* Bug#438118: [alsa-devel] [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-09-18 15:45 ` Takashi Iwai @ 2007-09-27 12:16 ` Anders Boström 2007-10-09 10:38 ` Takashi Iwai 0 siblings, 1 reply; 9+ messages in thread From: Anders Boström @ 2007-09-27 12:16 UTC (permalink / raw) To: tiwai; +Cc: riesebie, alsa-devel, 438118 >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: TI> At Tue, 18 Sep 2007 09:41:48 +0200 (CEST), TI> Anders Boström wrote: >> >> >>>>> "TI" == Takashi Iwai <tiwai@suse.de> 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? TI> Anyway, a simple patch is below. Let me know if it works. It works fine! Thanks! / Anders TI> diff -r 0028e39ead78 core/pcm_native.c TI> --- a/core/pcm_native.c Tue Sep 18 00:52:38 2007 +0200 TI> +++ b/core/pcm_native.c Tue Sep 18 17:44:31 2007 +0200 TI> @@ -1368,8 +1368,6 @@ static int snd_pcm_prepare(struct snd_pc TI> static int snd_pcm_pre_drain_init(struct snd_pcm_substream *substream, int state) TI> { TI> - if (substream->f_flags & O_NONBLOCK) TI> - return -EAGAIN; substream-> runtime->trigger_master = substream; TI> return 0; TI> } ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-09-27 12:16 ` Bug#438118: [alsa-devel] " Anders Boström @ 2007-10-09 10:38 ` Takashi Iwai 2007-12-14 10:37 ` Anders Boström 0 siblings, 1 reply; 9+ messages in thread From: Takashi Iwai @ 2007-10-09 10:38 UTC (permalink / raw) To: Anders Boström; +Cc: alsa-devel, 438118 At Thu, 27 Sep 2007 14:16:29 +0200 (CEST), Anders Boström wrote: > > >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: > > TI> At Tue, 18 Sep 2007 09:41:48 +0200 (CEST), > TI> Anders Boström wrote: > >> > >> >>>>> "TI" == Takashi Iwai <tiwai@suse.de> 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 ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-10-09 10:38 ` Takashi Iwai @ 2007-12-14 10:37 ` Anders Boström 2007-12-14 10:53 ` Jaroslav Kysela 0 siblings, 1 reply; 9+ messages in thread From: Anders Boström @ 2007-12-14 10:37 UTC (permalink / raw) To: tiwai; +Cc: alsa-devel, 438118 >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: 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? TI> Yes, that's my opinion, too. This particular ioctl is to block the TI> operation, so it should be allowed as long as it's called. TI> But I vaguely remember that we discussed about it, and the current TI> form is the result of that. Namely, we can call TI> snd_pcm_nonblock(FALSE) explicitly before calling snd_pcm_drain(). TI> Though, I prefer fixing the behavior in the core side to allow the TI> blocking with this call... Any reasonable objections in mind? Any progress in including a solotion to this bug in mainstream alsa & linux kernel? Has anything been done? The patch works fine for me... / Anders ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-12-14 10:37 ` Anders Boström @ 2007-12-14 10:53 ` Jaroslav Kysela 2007-12-14 12:41 ` Takashi Iwai 0 siblings, 1 reply; 9+ messages in thread From: Jaroslav Kysela @ 2007-12-14 10:53 UTC (permalink / raw) To: Anders Boström; +Cc: Takashi Iwai, ALSA development, 438118 [-- Attachment #1: Type: TEXT/PLAIN, Size: 1577 bytes --] On Fri, 14 Dec 2007, Anders Boström wrote: > >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: > > 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? > > TI> Yes, that's my opinion, too. This particular ioctl is to block the > TI> operation, so it should be allowed as long as it's called. > > TI> But I vaguely remember that we discussed about it, and the current > TI> form is the result of that. Namely, we can call > TI> snd_pcm_nonblock(FALSE) explicitly before calling snd_pcm_drain(). > > TI> Though, I prefer fixing the behavior in the core side to allow the > TI> blocking with this call... Any reasonable objections in mind? > > Any progress in including a solotion to this bug in mainstream > alsa & linux kernel? Has anything been done? The patch works fine for > me... I think that this proposal breaks basic posix rules. Application should change blocking state itself. And non-blocking snd_pcm_drain() still makes sense - it will return state of stream (-EAGAIN - unfinished) or reset PCM state to SETUP in case when all data are played. Jaroslav ----- Jaroslav Kysela <perex@perex.cz> Linux Kernel Sound Maintainer ALSA Project [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working 2007-12-14 10:53 ` Jaroslav Kysela @ 2007-12-14 12:41 ` Takashi Iwai 0 siblings, 0 replies; 9+ messages in thread From: Takashi Iwai @ 2007-12-14 12:41 UTC (permalink / raw) To: Jaroslav Kysela; +Cc: Anders Boström, ALSA development, 438118 At Fri, 14 Dec 2007 11:53:11 +0100 (CET), Jaroslav Kysela wrote: > > On Fri, 14 Dec 2007, Anders Boström wrote: > > > >>>>> "TI" == Takashi Iwai <tiwai@suse.de> writes: > > > > 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? > > > > TI> Yes, that's my opinion, too. This particular ioctl is to block the > > TI> operation, so it should be allowed as long as it's called. > > > > TI> But I vaguely remember that we discussed about it, and the current > > TI> form is the result of that. Namely, we can call > > TI> snd_pcm_nonblock(FALSE) explicitly before calling snd_pcm_drain(). > > > > TI> Though, I prefer fixing the behavior in the core side to allow the > > TI> blocking with this call... Any reasonable objections in mind? > > > > Any progress in including a solotion to this bug in mainstream > > alsa & linux kernel? Has anything been done? The patch works fine for > > me... > > I think that this proposal breaks basic posix rules. AFAIK, O_NONBLOCK doesn't define the behavior of each ioctl on POSIX at all. Some standard POSIX-defined ioctls block even with O_NONBLOCK indeed. > Application should > change blocking state itself. And non-blocking snd_pcm_drain() still makes > sense - it will return state of stream (-EAGAIN - unfinished) or reset PCM > state to SETUP in case when all data are played. Well, this can be kept as is, but it's a bit weird (and silly) behavior. Anyway, we'll need fix this bug in our own codes in alsa-utils first :) Takashi ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2007-12-14 13:57 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20070815.153103.-1470506910.anders@netinsight.se>
[not found] ` <20070815172821.GB7381@frodo.home.lxtec.de>
[not found] ` <20070816.094636.-753684517.anders@netinsight.se>
2007-09-11 16:08 ` [Pkg-alsa-devel] Bug#438118: alsa-utils: aplay non-blocking mode isn't working Elimar Riesebieter
2007-09-17 15:20 ` Takashi Iwai
2007-09-18 7:41 ` Bug#438118: [alsa-devel] " Anders Boström
2007-09-18 15:45 ` Takashi Iwai
2007-09-27 12:16 ` Bug#438118: [alsa-devel] " Anders Boström
2007-10-09 10:38 ` Takashi Iwai
2007-12-14 10:37 ` Anders Boström
2007-12-14 10:53 ` Jaroslav Kysela
2007-12-14 12:41 ` Takashi Iwai
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox