This shit really, really really pisses me off. LX
On Wed, 2008-09-24 at 21:07 -0700, Dev Mazumdar wrote: > Yair K. wrote: > > On Thursday 25 September 2008 01:02:31 SeaJey wrote: > >> Source: http://0pointer.de/blog/projects/guide-to-sound-apis > >> Quote: > >> <skip> > >> OSS > >> The Open Sound System is a low-level PCM API supported by a variety of > >> Unixes including Linux. It started out as the standard Linux audio system > >> and > >> is supported on current Linux kernels in the API version 3 as OSS3. OSS3 > >> is > >> considered obsolete and has been fully replaced by ALSA. A successor to > >> OSS3 > >> called OSS4 is available but plays virtually no role on Linux and is not > >> supported in standard kernels or by any of the relevant distributions. The > >> OSS > >> API is very low-level, based around direct kernel interfacing using > >> ioctl()s. > >> It it is hence awkward to use and can practically not be virtualized for > >> usage > >> on non-kernel audio systems like sound servers (such as PulseAudio) or > >> userspace sound drivers (such as Bluetooth or FireWire audio). OSS3's > >> timing > >> model cannot properly be mapped to software sound servers at all, and is > >> also > >> problematic on non-PCI hardware such as USB audio. Also, OSS does not do > >> sample type conversion, remapping of resampling if necessary. This means > >> that > >> clients that properly want to support OSS need to include a complete set > >> of > >> converters/remappers/resamplers for the case when the hardware does not > >> natively support the requested sampling parameters. With modern sound > >> cards it > >> is very common to support only S32LE samples at 48Khz and nothing else. If > >> an > >> OSS-client assumes it can always play back S16LE samples at 44.1Khz it > >> will > >> thus fail. OSS3 is portable to other Unix-like systems, various > >> differences > >> however apply. OSS also doesn't support surround sound and other > >> functionality > >> of modern sounds systems properly. OSS should be considered obsolete and > >> not > >> be used in new applications. ALSA and PulseAudio have limited > >> LD_PRELOAD-based > >> compatibility with OSS. > >> > >> Are the things so bad or this is kind of rant? > > > > It's pretty inaccurate FUD (From the URL address - it's Pulseaudio's > > author, right? I'd have expected him to know better). He's basically > > judging OSS per the old OSS/Free drivers, which is like 5 years ago, and > > even that he does wrong. > > First, *all* current implementations/emulations of OSSv3 do sample > > conversion. It's not even a property defined by the API but by the > > underlying drivers. > > Second, even OSSv3 supported surround, USB cards, etc. > > Third, arguing that "it cannot be virtualized" is disproven by the amount > > of emulations and alternative implementations existing out there and > > working in practice. (The main difficulty is mmap() API, which is very > > rarely used anyway, and even that can be done with, say, oss2pulse). > > Fourth, complaining about OSS API being awkward, is... well, awkward when > > you compare it to ALSA API, if you could compare it, since most ALSA API > > isn't documented. > > It's kinda funny he advocates using ALSA API (not in the quoted part above, > > but last time I read his blog he suggested it). Actual ALSA devs advocate > > against it, but using a sound library with multiple backends[1]. > > > > [1] e.g. http://www.archivum.info/linux.kernel/2006-01/msg02687.html > > > > P.S. Most modern soundcards I've seen do "S16LE" and nothing else, > > unfortunately. > > _______________________________________________ > > oss-devel mailing list > > oss-devel@mailman.opensound.com > > http://mailman.opensound.com/mailman/listinfo/oss-devel > > > > > Hi, > > I've already sent Lennart a note.....here's his response. > > The biggest piece of BS: OSS also doesn't support surround sound and > other functionality of modern sounds systems properly. ... > > regards > Dev > > -------- Original Message -------- > Subject: Re: [alsa-devel] Guide to Linux Sound APIs > Date: Thu, 25 Sep 2008 02:35:21 +0200 > From: Lennart Poettering <[EMAIL PROTECTED]> > Organization: Red Hat, Inc. > To: Dev Mazumdar <[EMAIL PROTECTED]> > References: <[EMAIL PROTECTED]> > <[EMAIL PROTECTED]> > > On Wed, 24.09.08 16:05, Dev Mazumdar ([EMAIL PROTECTED]) wrote: > > > How did you decide for all the Linux community that Open Sound System > > should not be used for any new programs?. > > I did not "decide" anything. I just wrote up a guide that gives > recommendations. > > I gave quite a few reasons why I think noone should write new > Linux applications for the OSS API: > > <snip> > ... OSS3 is considered obsolete and has been fully replaced by ALSA. A > successor to OSS3 called OSS4 is available but plays virtually no role > on Linux and is not supported in standard kernels or by any of the > relevant distributions. The OSS API is very low-level, based around > direct kernel interfacing using ioctl()s. It it is hence awkward to > use and can practically not be virtualized for usage on non-kernel > audio systems like sound servers (such as PulseAudio) or user-space > sound drivers (such as Bluetooth or FireWire audio). OSS3's timing > model cannot properly be mapped to software sound servers at all, and > is also problematic on non-PCI hardware such as USB audio. Also, OSS > does not do sample type conversion, remapping or resampling if > necessary. This means that clients that properly want to support OSS > need to include a complete set of converters/remappers/resamplers for > the case when the hardware does not natively support the requested > sampling parameters. With modern sound cards it is very common to > support only S32LE samples at 48KHz and nothing else. If an OSS client > assumes it can always play back S16LE samples at 44.1KHz it will thus > fail. OSS3 is portable to other Unix-like systems, various differences > however apply. OSS also doesn't support surround sound and other > functionality of modern sounds systems properly. ... > </snip> > > Sure, some of the issues pointed out here may have been fixed in > OSS4. But OSS4 is irrelevant on Linux. Also we don't need two APIs > that have the same purposes. That's why this guide recommends ALSA and > not OSS. > > > We have been telling our customers quite the contrary to go with > GStreamer > > rather than use Pulse Audio. > > You seem to confuse things here. GStreamer and PulseAudio solve > completely different problems and have almost nothing in common. It's > like recommending to go with a window instead of a dog. ;-) > > > I think you may have completely underestimated the practicality and the > > robustness of Open Sound. > > Hehe, that doesn't change the fact that OSS3 is obsolete and OSS4 plays > no role on Linux and the API is generally questionnable. > > Lennart > > -- > Lennart Poettering Red Hat, Inc. > lennart [at] poettering [dot] net ICQ# 11060553 > http://0pointer.net/lennart/ GnuPG 0x1A015CC4 > > _______________________________________________ oss-devel mailing list oss-devel@mailman.opensound.com http://mailman.opensound.com/mailman/listinfo/oss-devel