summaryrefslogtreecommitdiffstats
path: root/UPDATING
diff options
context:
space:
mode:
authorariff <ariff@FreeBSD.org>2006-11-26 12:24:06 +0000
committerariff <ariff@FreeBSD.org>2006-11-26 12:24:06 +0000
commit7b36f6d96b710844a6d2abd90a94bc169f72a5d1 (patch)
treebe8f05cc6b2e41975dd084107c4db8978e7c9734 /UPDATING
parent70fe7b890e66532cef253d3bad928093268a24fd (diff)
downloadFreeBSD-src-7b36f6d96b710844a6d2abd90a94bc169f72a5d1.zip
FreeBSD-src-7b36f6d96b710844a6d2abd90a94bc169f72a5d1.tar.gz
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@es.net> * Inverted EAPD for few Nec VersaPro. PR: kern/104715 Submitted by: KAWATA Masahiko <kawata@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.
Diffstat (limited to 'UPDATING')
-rw-r--r--UPDATING13
1 files changed, 13 insertions, 0 deletions
diff --git a/UPDATING b/UPDATING
index 0cfd35f..6eb0286 100644
--- a/UPDATING
+++ b/UPDATING
@@ -21,6 +21,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 7.x IS SLOW:
developers choose to disable these features on build machines
to maximize performance.
+20061126:
+ Sound infrastructure has been updated with various fixes and
+ improvements. Most of the changes are pretty much transparent,
+ with exceptions of followings:
+ 1) All sound driver specific sysctls (hw.snd.pcm%d.*) have been
+ moved to their own dev sysctl nodes, for example:
+ hw.snd.pcm0.vchans -> dev.pcm.0.vchans
+ 2) /dev/dspr%d.%d has been deprecated. Each channel now has its
+ own chardev in the form of "dsp%d.<function>%d", where <function>
+ is p = playback, r = record and v = virtual, respectively. Users
+ are encouraged to use these devs instead of (old) "/dev/dsp%d.%d".
+ This does not affect those who are using "/dev/dsp".
+
20061122:
The following binaries have been disconnected from the build:
mount_devfs, mount_ext2fs, mount_fdescfs, mount_procfs, mount_linprocfs,
OpenPOWER on IntegriCloud