diff --git a/share/man/man4/pcm.4 b/share/man/man4/pcm.4 --- a/share/man/man4/pcm.4 +++ b/share/man/man4/pcm.4 @@ -167,16 +167,16 @@ Multichannel audio, popularly referred to as .Dq surround sound is supported and enabled by default. -The FreeBSD multichannel matrix processor supports up to 18 interleaved -channels, but the limit is currently set to 8 channels (as commonly used -for 7.1 surround sound). +The +.Fx +multichannel matrix processor supports up to 18 interleaved channels, but the +limit is currently set to 8 channels (as commonly used for 7.1 surround sound). The internal matrix mapping can handle reduction, expansion or re-routing of channels. This provides a base interface for related multichannel .Fn ioctl support. -Multichannel audio works both with and without -.Tn VCHANs . +Multichannel audio works both with and without VCHANs. .Pp Most bridge device drivers are still missing multichannel matrixing support, but in most cases this should be trivial to implement. @@ -202,21 +202,18 @@ Each device can optionally support more playback and recording channels than physical hardware provides by using .Dq virtual channels -or -.Tn VCHANs . -.Tn VCHAN -options can be configured via the +or VCHANs. +VCHAN options can be configured via the .Xr sysctl 8 interface but can only be manipulated while the device is inactive. .Ss VPC -FreeBSD supports independent and individual volume controls for each active +.Fx +supports independent and individual volume controls for each active application, without touching the master .Nm volume. This is sometimes referred to as Volume Per Channel (VPC). -The -.Tn VPC -feature is enabled by default. +The VPC feature is enabled by default. .Ss Loader Tunables The following loader tunables are used to set driver configuration at the .Xr loader 8 @@ -238,12 +235,9 @@ This tunable is undefined by default. Equalizing is disabled by default. .It Va hint.pcm.%d.vpc -Set to 1 or 0 to explicitly enable (1) or disable (0) the -.Tn VPC -feature. +Set to 1 or 0 to explicitly enable (1) or disable (0) the VPC feature. This tunable is undefined by default. -.Tn VPC -is however enabled by default. +VPC is however enabled by default. .El .Ss Runtime Configuration There are a number of @@ -365,16 +359,12 @@ rate, especially during high workload. The default value is 1, which is considered a moderate/safe latency profile. .It Va hw.snd.maxautovchans -Global -.Tn VCHAN -setting that only affects devices with at least one playback or recording channel available. -The sound system will dynamically create up to this many -.Tn VCHANs . +Global VCHAN setting that only affects devices with at least one playback or +recording channel available. +The sound system will dynamically create up to this many VCHANs. Set to .Dq 0 -if no -.Tn VCHANs -are desired. +if no VCHANs are desired. Maximum value is 256. .It Va hw.snd.report_soft_formats Controls the internal format conversion if it is @@ -419,13 +409,11 @@ Enabling this will preserve the volume, at the cost of possible confusion when applications tries to re-open the same device. .It Va hw.snd.vpc_mixer_bypass -The recommended way to use the -.Tn VPC -feature is to teach applications to use -the correct +The recommended way to use the VPC feature is to teach applications to use the +correct .Fn ioctl : -.Dv SNDCTL_DSP_GETPLAYVOL, SNDCTL_DSP_SETPLAYVOL, -.Dv SNDCTL_DSP_SETRECVOL, SNDCTL_DSP_SETRECVOL. +.Dv SNDCTL_DSP_GETPLAYVOL , SNDCTL_DSP_SETPLAYVOL , +.Dv SNDCTL_DSP_SETRECVOL , SNDCTL_DSP_SETRECVOL . This is however not always possible. Enable this to allow applications to use their own existing mixer logic to control their own channel volume. @@ -438,30 +426,19 @@ The pure .Nm stream will be fed directly to the hardware. -If -.Tn VCHANs -are enabled, the bitperfect mode will use the -.Tn VCHAN -format/rate as the definitive format/rate target. -The recommended way to use bitperfect mode is to disable -.Tn VCHANs -and enable this sysctl. +If VCHANs are enabled, the bitperfect mode will use the VCHAN format/rate as +the definitive format/rate target. +The recommended way to use bitperfect mode is to disable VCHANs and enable this +sysctl. Default is disabled. .It Va dev.pcm.%d.[play|rec].vchans -The current number of -.Tn VCHANs -allocated per device. -This can be set to preallocate a certain number of -.Tn VCHANs . +The current number of VCHANs allocated per device. +This can be set to preallocate a certain number of VCHANs. Setting this value to .Dq 0 -will disable -.Tn VCHANs -for this device. +will disable VCHANs for this device. .It Va dev.pcm.%d.[play|rec].vchanformat -Format for -.Tn VCHAN -mixing. +Format for VCHAN mixing. All playback paths will be converted to this format before the mixing process begins. By default only 2 channels are enabled. @@ -491,8 +468,7 @@ 8 channels (4.0 + center + LFE + left and right side). .El .It Va dev.pcm.%d.[play|rec].vchanmode -.Tn VCHAN -format/rate selection. +VCHAN format/rate selection. Available options include: .Bl -tag -width 2n .It fixed @@ -527,9 +503,7 @@ cause annoying pops or clicks. .El .It Va dev.pcm.%d.[play|rec].vchanrate -Sample rate speed for -.Tn VCHAN -mixing. +Sample rate speed for VCHAN mixing. All playback paths will be converted to this sample rate before the mixing process begins. .It Va dev.pcm.%d.polling @@ -552,17 +526,12 @@ So with situations involving overruns and underruns, consider the output while the errant application is open and running. .Ss IOCTL Support -The driver supports most of the -.Tn OSS +The driver supports most of the OSS .Fn ioctl functions, and most applications work unmodified. A few differences exist, while memory mapped playback is -supported natively and in -.Tn Linux -emulation, memory mapped recording is -not due to -.Tn VM -system design. +supported natively and in Linux emulation, memory mapped recording is not due +to VM system design. As a consequence, some applications may need to be recompiled with a slightly modified audio module. See