Date: Sat, 10 Sep 2005 18:10:31 +0000 (UTC) From: Alexander Leidinger <netchild@FreeBSD.org> To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/sound/pcm channel.c channel.h sound.c vchan.c Message-ID: <200509101810.j8AIAVt0059549@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
netchild 2005-09-10 18:10:31 UTC FreeBSD src repository Modified files: sys/dev/sound/pcm channel.c channel.h sound.c vchan.c Log: - channel.h * New definition CHN_F_HAS_VCHAN. - channel.c * Use CHN_F_HAS_VCHAN to mark channel with vchan capability instead of relying on SLIST_EMPTY(&channel->children) == true for better clarification and future possible usages of children (like 'slave' channel). * Various fixes, including blocksize / format bps allignment, better 24bit seeking (mplayer, others). * Improve format chain building, it's now possible to record something to a format non-native to the soundcard through various feeder format converters or to higher sampling rate. This also gains another feature, like doing vchan mixing on non s16le soundcard such as sb8. - sound.c * Increase robustness within various function that handle vchan creation / termination (these function need a total rewrite, but that would cause other major rewrite within various places too!). As far as its robustness can be guaranteed, leave it as is. * Optimize channel ordering, prefer *real* hardware playback channels over virtual channels. cat /dev/sndstat should look better. * Increase sndstat verbosity to include bufsoft/bufhard allocation. - vchan.c * Fix LOR 119. - http://sources.zabbadoz.net/freebsd/lor.html#119 * Reorder / increase robustness of vchan_create() / destroy(). Enforce destroy_dev() during destroy operation, fix possible panic / dangling character device. - http://lists.freebsd.org/pipermail/freebsd-current/2005-May/050308.html * Tolerate a little bit more during mixing process, this should help non s16le soundcards. Note: Recoring in a non-native rate/format may result in overruns. A friendly application is wavrec from audio/wavplay. The problem is under investigation. Submitted by: Ariff Abdullah <skywizard@MyBSD.org.my> Revision Changes Path 1.101 +73 -39 src/sys/dev/sound/pcm/channel.c 1.32 +4 -1 src/sys/dev/sound/pcm/channel.h 1.95 +115 -53 src/sys/dev/sound/pcm/sound.c 1.19 +157 -137 src/sys/dev/sound/pcm/vchan.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200509101810.j8AIAVt0059549>