Date: Sun, 17 Dec 2017 09:06:31 +0800 From: blubee blubeeme <gurenchan@gmail.com> To: Sid <sid@bsdmail.com> Cc: Yuri <yuri@rawbw.com>, fjwcash@gmail.com, FreeBSD Ports <freebsd-ports@freebsd.org> Subject: Re: OSS Audio Message-ID: <CALM2mE=ZpP6mtXFhS-nc0oMCy2=omDFhTFtNEULOJX_3xsGrKA@mail.gmail.com> In-Reply-To: <trinity-ea77de16-0e84-44d5-91c2-e14cb14947ca-1513464797281@3c-app-mailcom-lxa15> References: <trinity-591c5f9d-357f-4ae9-88b2-d5d603fb8de4-1513379128533@3c-app-mailcom-lxa04> <CALM2mEmpWmOyrfHku3diWrpeHLd0To3szUrutSsMt0LF=%2BEDFA@mail.gmail.com> <trinity-ea77de16-0e84-44d5-91c2-e14cb14947ca-1513464797281@3c-app-mailcom-lxa15>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Dec 17, 2017 at 6:53 AM, Sid <sid@bsdmail.com> wrote: > I've had a few misconceptions. > > Bluebee Blubeeme said, 4Front has a modern OSS implementation that is > under a FreeBSD license. > > The model of Sound on FreeBSD is, three layers: > 1. The API, where programs use libraries (of respective sound > architecture) to access the sound server. > 2. The sound server: OSS, Sndio, Portaudio, JACK, ALSA, native, etc > 3. FreeBSD's base is always OSS (OpenBSD's driver is sndio); sound servers > connect to and use this. > FreeBSD base is an older fork of 4Front OSS, somewhere around version 3 something. There's a 3,200 line diff between freebsd /sys/sys/soundcard.h and the one available in 4Front repo right now, there's been a lot of improvements between FreeBSD fork and 4Front OSS 4.2 Plus the OSS 4.x soundcard.h handles ALL legacy devices. The main thing that changed is the API, follow updated coding styles for new applications while old applications still just work. The sound server madness goes away with 4Front OSS. The API would be stable with 4Front OSS There's no single place with a more straight forward audio programming guide online compared to this: http://manuals.opensound.com/developer/ If there is please share. To use 4Front's OSS, FreeBSD's kernel will have to be recompiled without > OSS, "snd" and "sound" references, and then that version of OSS installed. > without the legacy oss, snd and sound references. That would be replaced by the 4Front OSS implementation. Then improvements/ fixes can be made on our end and tried to have upstreamed. The API is stable, well documented and the sound server madness goes away as well. > > The part of OSS in name, that is a mess, is the API structure, and various > implementations. In FreeBSD for instance, when a program uses an OSS API, I > hear that developers, need to write so many patches, because different OSS > frontends are not standardized. Most applications in ports use Sndio, > because across BSD's the API to it is standard. Bluebee claims that > 4Front's OSS is standard as well. As for API on programs/ports, just use > the FreeBSD API that is available for it, OSS, Sndio, Portaudio, to connect > to that sound server. > This is what can happen w/ open source software. Everyone took from Hannu's work and then no one credited him for his accomplishments but everyone dog piles on him. > > As long as OSS covers the wide range of implementations of it, OSS In > Name, without clarifiers, will carry this burden of being complex and > having a nonstandard API, even when certain implementations don't or may > not have this issue. > This is a Linuxism, spread right around the time they wanted to push ALSA. Since there are very few to NO audio developers who build software from the ground up for FreeBSD, all these Linuxism seeped in through the porting of software from Linux to FreeBSD. > > Bluebee says, to my understanding, that 4Front's OSS doesn't have certain > coding inefficiencies that certain sound architectures have. That is > something for the developers to be informed about, and to consider in > FreeBSD current. > This is why I am bringing up the issue and why I said the first step would be porting the proper 4Front OSS into the kernel. It doesn't have to be the default at first but if it's not in the kernel why bother wasting time to have it rejected because of all the misconceptions I've been dealing with in these threads. Add 4Front OSS to the kernel Use the 4.x API/ Documentation Add it to an audio programming section of FBSD Handbook Upstream changes that make sense Simplify audio programming, documentation, all those audio sound servers Port device drivers to the OSS Device Driver API: http://manuals.opensound.com/sources/drv_index.html > _______________________________________________ > freebsd-ports@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" > That's a lot of work and without being able to get this into the kernel because people just say "oss is a mess" isn't a valid reason. A lot of these opinions seeped into FreeBSD from other sources.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CALM2mE=ZpP6mtXFhS-nc0oMCy2=omDFhTFtNEULOJX_3xsGrKA>