[RFC] Summer of Code -- OSSv4 audio compatibility

Ryan Beasley ryanb at FreeBSD.org
Tue Aug 22 21:11:38 UTC 2006

Hello, current@ & multimedia@!

====== Summary ======
I participated in Google's Summer of Code this year, working on adding
support for 4Front's OSSv4 API.

Unfortunately, more of the API specifications were still under
construction than I expected, so I focused entirely on the audio
collection of ioctls and maybe just one or two mixer ioctls.  While
official documentation isn't yet available, the mixer extensions, which
are one of the coolest parts of the new API, are my top priority.  (I
think I now have enough reference material to begin work in that area.)

For information on the ioctls, please take a look at
http://wiki.freebsd.org/RyanBeasley/ioctlref .

====== Patch Info ======
A patch against recent -CURRENT is available at
http://www.leidinger.net/FreeBSD/sound/rbeasley_sound.diff .

Comments, suggestions, etc., would be hugely appreciated!

To apply,
	cd /usr/src/sys
	patch --quiet < rbeasley_sound.diff

Then rebuild the sound/sound module and whichever modules are
appropriate for your sound card.  You should also install the new

====== Testing ======
Please beat down on audio as much as possible.  Note that some
applications might need to be recompiled in order to access the new
ioctls (sys/soundcard.h was tweaked).

Two areas that were least tested by me were ioctls intended to be used
with mmap() (ex: SNDCTL_DSP_CURRENT_OPTR) and recording.  Please keep an
eye on these.

Also, note that a LOR was detected with the SNDCTL_MIXERINFO ioctl.
Please do not report this for now.

LOR details:

kernel: lock order reversal:
kernel: 1st 0xc3fe25c0 pcm0 (sound cdev) @
kernel: 2nd 0xc9c9f320 pcm0:mixer (pcm mixer) @

If you encounter bugs or have any questions, please e-mail me.

====== Misc. ======
Thanks to Google, the FreeBSD Project, my mentors Alexander Leidinger &
Ariff Abdullah, and Dev & Hannu @ 4Front for everything!

Ryan Beasley <ryanb at FreeBSD.org>

More information about the freebsd-multimedia mailing list