On 28 Jun 2007, Adrian Bunk outgrape:Indeed. This is why I haven't moaned much (or at all): aoss is ugly, sure, but you only need it for those rare apps which run for a long time or while other sounds are playing, on non-mixing-capable hardware, for which the in-kernel emulation won't suit... and most non-sound- specialist apps are using esd, arts or pulseaudio anyway, so that does the mixing for you (and pulseaudio also does it for every ALSA app if the pulseaudio plugin is installed). And the sound-specialist apps are the ones that actually *benefit* from ALSA's ludicrous degree of low-levelness, so they're using it, or something even more flexible like JACK. I use quite a lot of sound apps, and I can count the number of times I've had to use aoss in the last year on the fingers of one hand. But still it's conceptually ugly. Doing stuff in userspace, yes: but the kernel should be calling *back* to userspace to do it, not depending on things being done in the client's address space by a client library for proper function. (See also others' rants regarding the nasty quasi-unstable nature of the ALSA ioctl() kernel interface...) Isn't this sort of big user-to-and-from-kernelspace data-transfer job what we have relayfs for? (Or is it unidirectional?) The problem is that the user has to *know* to run `aoss'. The in-kernel OSS emulation is actually nicer than thr userspace one because it works automatically without the user having to do a damned thing. If only it (and ALSA as a whole) called out to userspace again to mix, we could presumably ditch aoss, and the user would never need to care which API the author chose to use. (There are still complexities involving reading the user's .asoundrc to consider, but most users don't use that so wouldn't need aoss for anything anymore.) And then all these damn silly ALSA/OSS flamewars could go away. I think it would lead to *more* problems. The in-kernel emulation *almost* Just Works, and surely the ideal we should aim for is an emulation that Just Works. -- `... in the sense that dragons logically follow evolution so they would be able to wield metal.' --- Kenneth Eng's colourless green ideas sleep furiously -
| Natalie Protasevich | [BUG] New Kernel Bugs |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Bart Van Assche | Integration of SCST in the mainstream Linux kernel |
| Andi Kleen | [PATCH x86] [0/16] Various i386/x86-64 changes |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Linus Torvalds | Re: [GIT]: Networking |
| Jeff Kirsher | [net-next PATCH 1/7] e1000e: enable CRC stripping by default |
| Jukka Andberg | ata/wdc vs gcc3 on amiga |
| YAMAMOTO Takashi | Re: wd.c patch to reduce kernel stack usage |
| Jason Thorpe | Re: ksyms patches. |
| rick | NFS transport |
