cvs commit: src/sys/dev/sound/pcm channel.c feeder.c feeder.h feeder_fmt.c feeder_rate.c

From: Ariff Abdullah <>
Date: Sun, 29 Jan 2006 02:27:28 +0000 (UTC)
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 
  MFC: Various fixups:
          - 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
          - Simplify feeder building process since we have smarter format
          - (1) Fix DMA alignment, based on bytes per sample.
          - Add few more sign conversion feeders for 24 and 32 bit format.
          - 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
  Revision  Changes    Path  +20 -24    src/sys/dev/sound/pcm/channel.c  +125 -7    src/sys/dev/sound/pcm/feeder.c  +4 -0      src/sys/dev/sound/pcm/feeder.h  +67 -1     src/sys/dev/sound/pcm/feeder_fmt.c  +51 -27    src/sys/dev/sound/pcm/feeder_rate.c
Received on Sun Jan 29 2006 - 02:27:29 UTC