OSS Audio

blubee blubeeme gurenchan at gmail.com
Sun Dec 17 01:06:34 UTC 2017


On Sun, Dec 17, 2017 at 6:53 AM, Sid <sid at 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 at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at 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.


More information about the freebsd-ports mailing list