about summary refs log tree commit homepage
path: root/Documentation
diff options
authorEric Wong <normalperson@yhbt.net>2013-09-28 06:50:04 +0000
committerEric Wong <normalperson@yhbt.net>2013-09-28 07:10:53 +0000
commit77cbb5e71e466749f4966ef0caca6a5077ad72c9 (patch)
treeab5112f6a538e9bab91b0bbe6d5b7c1bceb819b2 /Documentation
parent2118e3aa78ebbd91b9d10ec524186820cbfa9c50 (diff)
This may be used to avoid automatic:

* resampling (rate)
* down/upmixing (channel)
* dither/truncation (bits)

Using any bypass mode means we can no longer guarantee gapless
playback for audio collections where rate, channel, or bits vary.
This can however be useful when CPU usage is too high.  This may
also be useful in audio engineering situations.
Diffstat (limited to 'Documentation')
1 files changed, 17 insertions, 7 deletions
diff --git a/Documentation/dtas-player_protocol.txt b/Documentation/dtas-player_protocol.txt
index 7fecec1..be1063a 100644
--- a/Documentation/dtas-player_protocol.txt
+++ b/Documentation/dtas-player_protocol.txt
@@ -111,20 +111,30 @@ Commands here should be alphabetized according to `LC_ALL=C sort'
   Changing this will affect the $SOXFMT and $ECAFMT environments passed
   to source and sink commands.  Changing this implies a "restart"
   Changing rate to 48000 is probably useful if you plan on playing to some
-  laptop sound cards.
+  laptop sound cards.  In all cases where "bypass" is supported, it
+  removes the guarantee of gapless playback as the audio device(s)
+  will likely need to be restarted.
-    + channels=UNSIGNED - (default: 2 (stereo)) - number of channels
-      to use internally.  sox will internally invoke the remix effect
-      when decoding.
+    + channels=(UNSIGNED|bypass) - (default: 2 (stereo)) - number of
+      channels to use internally.  sox will internally invoke the remix
+      effect when decoding.  This supports the value "bypass" (without
+      quotes) to avoid the automatic remix effect.  Using "bypass" mode
+      removes the guarantee of gapless playback, as the audio device will
+      likely need to be restarted, introducing an audible gap.
     + endian=(big|little|swap) - (default: native) - there is probably no
       point in changing this unless you output over a network sink to
       a machine of different endianess.
-    + bits=UNSIGNED - (default: implied from type) - sample precision (decoded)
+    + bits=(UNSIGNED|bypass) - (default: implied from type) - sample precision
+      (decoded)
       This may be pointless and removed in the future, since the sample
-      precision is implied from type.
-    + rate=UNSIGNED - (default: 44100) - sample rate of audio
+      precision is implied from type.  This supports the value of "bypass"
+      to avoid dither/truncation in later stages.
+    + rate=(UNSIGNED|bypass) - (default: 44100) - sample rate of audio
       Typical values of rate are 44100, 48000, 88200, 96000.  Not all
       DSP effects are compatible with all sampling rates/channels.
+      This supports the value of "bypass" as well to avoid introducing
+      software resamplers into the playback chain.
     + type=(s16|s24|s32|u16|u24|u32|f32|f64) - (default: s32)
       change the raw PCM format.  s32 currently offers the best performance
       when only sox/play are used.  f32 may offer better performance if