cvs commit: src/sys/sys param.h src UPDATING src/sys/dev/sound/pci
atiixp.c cmi.c es137x.c ich.c via8233.c src/sys/dev/sound/pci/hda
hda_reg.h hdac.c hdac_private.h src/sys/dev/sound/pcm ac97.c
ac97.h buffer.c buffer.h channel.c channel.h dsp.c fake.c feeder.c ...
Ariff Abdullah
ariff at FreeBSD.org
Sun Nov 26 04:24:21 PST 2006
ariff 2006-11-26 12:24:06 UTC
FreeBSD src repository
Modified files:
sys/sys param.h
. UPDATING
sys/dev/sound/pci atiixp.c cmi.c es137x.c ich.c via8233.c
sys/dev/sound/pci/hda hda_reg.h hdac.c hdac_private.h
sys/dev/sound/pcm ac97.c ac97.h buffer.c buffer.h channel.c
channel.h dsp.c fake.c feeder.c feeder.h
feeder_fmt.c feeder_rate.c
feeder_volume.c mixer.c sndstat.c sound.c
sound.h vchan.c
sys/dev/sound/usb uaudio.c
Log:
Welcome to Once-a-year Sound Mega-Commit. Enjoy numerous updates and fixes
in every sense.
General
-------
- Multichannel safe, endian safe, format safe
* Large part of critical pcm filters such as vchan.c, feeder_rate.c,
feeder_volume.c, feeder_fmt.c and feeder.c has been rewritten so that
using them does not cause the pcm data to be converted to 16bit little
endian.
* Macrosses for accessing pcm data safely are defined within sound.h in
the form of PCM_READ_* / PCM_WRITE_*
* Currently, most of them are probably limited for mono/stereo handling,
but the future addition of true multichannel will be much easier.
- Low latency operation
* Well, this require lot more works to do not just within sound driver,
but we're heading towards right direction. Buffer/block sizing within
channel.c is rewritten to calculate precise allocation for various
combination of sample/data/rate size. As a result, applying correct
SNDCTL_DSP_POLICY value will achive expected latency behaviour simmilar
to what commercial 4front driver do.
* Signal handling fix. ctrl+c of "cat /dev/zero > /dev/dsp" does not
result long delay.
* Eliminate sound truncation if the sound data is too small.
DIY:
1) Download / extract
http://people.freebsd.org/~ariff/lowlatency/shortfiles.tar.gz
2) Do a comparison between "cat state*.au > /dev/dsp" and
"for x in state*.au ; do cat $x > /dev/dsp ; done"
- there should be no "perceivable" differences.
Double close for PR kern/31445.
CAVEAT: Low latency come with (unbearable) price especially for poorly
written applications. Applications that trying to act smarter
by requesting (wrong) blocksize/blockcount will suffer the most.
Fixup samples/patches can be found at:
http://people.freebsd.org/~ariff/ports/
- Switch minimum/maximum sampling rate limit to "1" and "2016000" (48k * 42)
due to closer compatibility with 4front driver.
Discussed with: marcus@ (long time ago?)
- All driver specific sysctls in the form of "hw.snd.pcm%d.*" have been
moved to their own dev sysctl nodes, notably:
hw.snd.pcm%d.vchans -> dev.pcm.%d.vchans
Bump __FreeBSD_version.
Driver specific
---------------
- Ditto for sysctls.
- snd_atiixp, snd_es137x, snd_via8233, snd_hda
* Numerous cleanups and fixes.
* _EXPERIMENTAL_ polling mode support using simple callout_* mechanisme.
This was intended for pure debugging and latency measurement, but proven
good enough in few unexpected and rare cases (such as problematic shared
IRQ with GIANT devices - USB). Polling can be enabled/disabled through
dev.pcm.0.polling. Disabled by default.
- snd_ich
* Fix possible overflow during speed calibration. Delay final
initialization (pcm_setstatus) after calibration finished.
PR: kern/100169
Tested by: Kevin Overman <oberman at es.net>
* Inverted EAPD for few Nec VersaPro.
PR: kern/104715
Submitted by: KAWATA Masahiko <kawata at mta.biglobe.ne.jp>
Thanks to various people, notably Joel Dahl, Yuriy Tsibizov, Kevin Oberman,
those at #freebsd-azalia @ freenode and others for testing.
Joel Dahl will do the manpage update.
Revision Changes Path
1.466 +13 -0 src/UPDATING
1.8 +354 -196 src/sys/dev/sound/pci/atiixp.c
1.38 +3 -3 src/sys/dev/sound/pci/cmi.c
1.61 +622 -371 src/sys/dev/sound/pci/es137x.c
1.2 +24 -24 src/sys/dev/sound/pci/hda/hda_reg.h
1.9 +456 -171 src/sys/dev/sound/pci/hda/hdac.c
1.3 +10 -1 src/sys/dev/sound/pci/hda/hdac_private.h
1.68 +228 -103 src/sys/dev/sound/pci/ich.c
1.26 +558 -275 src/sys/dev/sound/pci/via8233.c
1.64 +86 -18 src/sys/dev/sound/pcm/ac97.c
1.19 +0 -2 src/sys/dev/sound/pcm/ac97.h
1.29 +60 -26 src/sys/dev/sound/pcm/buffer.c
1.13 +3 -0 src/sys/dev/sound/pcm/buffer.h
1.112 +721 -311 src/sys/dev/sound/pcm/channel.c
1.34 +39 -1 src/sys/dev/sound/pcm/channel.h
1.100 +16 -17 src/sys/dev/sound/pcm/dsp.c
1.17 +2 -1 src/sys/dev/sound/pcm/fake.c
1.38 +452 -134 src/sys/dev/sound/pcm/feeder.c
1.14 +26 -3 src/sys/dev/sound/pcm/feeder.h
1.21 +623 -203 src/sys/dev/sound/pcm/feeder_fmt.c
1.19 +320 -546 src/sys/dev/sound/pcm/feeder_rate.c
1.3 +178 -33 src/sys/dev/sound/pcm/feeder_volume.c
1.56 +5 -3 src/sys/dev/sound/pcm/mixer.c
1.23 +11 -10 src/sys/dev/sound/pcm/sndstat.c
1.107 +40 -48 src/sys/dev/sound/pcm/sound.c
1.73 +280 -7 src/sys/dev/sound/pcm/sound.h
1.26 +458 -131 src/sys/dev/sound/pcm/vchan.c
1.23 +1 -1 src/sys/dev/sound/usb/uaudio.c
1.280 +1 -1 src/sys/sys/param.h
More information about the cvs-src
mailing list