[RFC] Summer of Code -- OSSv4 audio compatibility

From: Ryan Beasley <ryanb_at_FreeBSD.org>
Date: Tue, 22 Aug 2006 16:11:24 -0500
Hello, current_at_ & multimedia_at_!

====== 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
sys/soundcard.h.

====== 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) _at_
/usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/mixer.c:791
kernel: 2nd 0xc9c9f320 pcm0:mixer (pcm mixer) _at_
/usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/mixer.c:815

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 _at_ 4Front for everything!

-- 
Ryan Beasley <ryanb_at_FreeBSD.org>
Received on Tue Aug 22 2006 - 19:11:38 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:59 UTC