From owner-cvs-src@FreeBSD.ORG Sun Jan 29 02:27:29 2006 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 66DD416A420; Sun, 29 Jan 2006 02:27:29 +0000 (GMT) (envelope-from ariff@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 358FB43D49; Sun, 29 Jan 2006 02:27:29 +0000 (GMT) (envelope-from ariff@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k0T2RTXr012341; Sun, 29 Jan 2006 02:27:29 GMT (envelope-from ariff@repoman.freebsd.org) Received: (from ariff@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k0T2RTqS012340; Sun, 29 Jan 2006 02:27:29 GMT (envelope-from ariff) Message-Id: <200601290227.k0T2RTqS012340@repoman.freebsd.org> From: Ariff Abdullah Date: Sun, 29 Jan 2006 02:27:28 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: RELENG_6 Cc: Subject: cvs commit: src/sys/dev/sound/pcm channel.c feeder.c feeder.h feeder_fmt.c feeder_rate.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 29 Jan 2006 02:27:29 -0000 ariff 2006-01-29 02:27:28 UTC FreeBSD src repository Modified files: (Branch: RELENG_6) sys/dev/sound/pcm channel.c feeder.c feeder.h feeder_fmt.c feeder_rate.c Log: MFC: Various fixups: feeder.h: feeder.c: - Implement scoring mechanisme to select best format for conversion. This is actually part of newer format chaining procedures which will be commited someday. Confusion during chaining process solved by this scoring since it will try to reduce list of from/to formats to a single, best format. Related PR: kern/91683 channel.c: - Simplify feeder building process since we have smarter format chaining. - (1) Fix DMA alignment, based on bytes per sample. feeder_fmt.c: - Add few more sign conversion feeders for 24 and 32 bit format. feeder_rate.c: - Force buffer / bytes allignment. Unaligned buffer may cause panics during recording on pure 32bit sample format if it involves feeder_rate as part of feeders chain. Handle strayed bytes (mostly caused by #1) better. Tested on: ATI IXP, force 32bit recording. This DMA alignment issues are extremely hard to reproduce unless the user happen to have a 32bit capable soundcards (ATI IXP) and knowledgeable enough to force it to operate under pure 32bit operations on both record and play directions. Revision Changes Path 1.99.2.3 +20 -24 src/sys/dev/sound/pcm/channel.c 1.33.2.2 +125 -7 src/sys/dev/sound/pcm/feeder.c 1.12.2.1 +4 -0 src/sys/dev/sound/pcm/feeder.h 1.14.2.2 +67 -1 src/sys/dev/sound/pcm/feeder_fmt.c 1.11.2.2 +51 -27 src/sys/dev/sound/pcm/feeder_rate.c