cvs commit: src/sys/dev/sound/pcm channel.c feeder.c feeder.h feeder_fmt.c feeder_rate.c
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
18.104.22.168 +20 -24 src/sys/dev/sound/pcm/channel.c
22.214.171.124 +125 -7 src/sys/dev/sound/pcm/feeder.c
126.96.36.199 +4 -0 src/sys/dev/sound/pcm/feeder.h
188.8.131.52 +67 -1 src/sys/dev/sound/pcm/feeder_fmt.c
184.108.40.206 +51 -27 src/sys/dev/sound/pcm/feeder_rate.c
Received on Sun Jan 29 2006 - 02:27:29 UTC