cvs commit: src/sys/dev/sound/pcm channel.c channel.h sound.c vchan.c

Alexander Leidinger netchild at
Sat Sep 10 11:10:32 PDT 2005

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 
  - 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
    * Increase sndstat verbosity to include bufsoft/bufhard allocation.
  - vchan.c
    * Fix LOR 119.
    * Reorder / increase robustness of vchan_create() / destroy().
      Enforce destroy_dev() during destroy operation, fix possible
      panic / dangling character device.
    * 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
  Submitted by:   Ariff Abdullah <skywizard at>
  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

More information about the cvs-src mailing list