From owner-freebsd-current@FreeBSD.ORG Tue Aug 22 21:11:38 2006 Return-Path: X-Original-To: current@FreeBSD.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3F74116A4DF; Tue, 22 Aug 2006 21:11:38 +0000 (UTC) (envelope-from ryanb@FreeBSD.org) Received: from pds.uberhacker.org (uberhacker.org [71.5.14.94]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7A5C843D5C; Tue, 22 Aug 2006 21:11:33 +0000 (GMT) (envelope-from ryanb@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by pds.uberhacker.org (Postfix) with ESMTP id 33C27A2E; Tue, 22 Aug 2006 14:11:33 -0700 (PDT) Received: from pds.uberhacker.org ([127.0.0.1]) by localhost (pds.uberhacker.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00203-03; Tue, 22 Aug 2006 14:11:28 -0700 (PDT) Received: from [192.168.82.33] (unknown [74.134.233.192]) by pds.uberhacker.org (Postfix) with ESMTP id 7709E5F; Tue, 22 Aug 2006 14:11:27 -0700 (PDT) Message-ID: <44EB72FC.8040508@FreeBSD.org> Date: Tue, 22 Aug 2006 16:11:24 -0500 From: Ryan Beasley User-Agent: Thunderbird 1.5.0.5 (X11/20060730) MIME-Version: 1.0 To: current@FreeBSD.org, multimedia@FreeBSD.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at uberhacker.org Cc: Subject: [RFC] Summer of Code -- OSSv4 audio compatibility X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Aug 2006 21:11:38 -0000 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 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) @ /usr/src/sys/modules/sound/sound/../../../dev/sound/pcm/mixer.c:791 kernel: 2nd 0xc9c9f320 pcm0:mixer (pcm mixer) @ /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 @ 4Front for everything! -- Ryan Beasley