summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2013-02-09 09:12:36 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2013-02-09 09:12:36 (GMT)
commit8135de80f799431d041878315840ef3a7110d0a3 (patch)
treee3bbbac469eb6e0d090dc040b52f0a1f806cbaf1 /Doc
parentaa20b000d197aef58bd7d4e31af39433983ed036 (diff)
parent01ad622a2cd73561b66d0f6287cb5b66de0bb0b3 (diff)
downloadcpython-8135de80f799431d041878315840ef3a7110d0a3.zip
cpython-8135de80f799431d041878315840ef3a7110d0a3.tar.gz
cpython-8135de80f799431d041878315840ef3a7110d0a3.tar.bz2
Issue #16686: Fixed a lot of bugs in audioop module.
* avgpp() and maxpp() no more crash on empty and 1-samples input fragment. They now work when peak-peak values are greater INT_MAX. * ratecv() no more crashes on empty input fragment. * Fixed an integer overflow in ratecv(). * Fixed an integer overflow in add() and bias() for 32-bit samples. * reverse(), lin2lin() and ratecv() no more lose precision for 32-bit samples. * max() and rms() no more returns negative result for 32-bit sample -0x80000000. * minmax() now returns correct max value for 32-bit sample -0x80000000. * avg(), mul(), tomono() and tostereo() now round negative result down and can return 32-bit sample -0x80000000. * add() now can return 32-bit sample -0x80000000.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/audioop.rst6
1 files changed, 3 insertions, 3 deletions
diff --git a/Doc/library/audioop.rst b/Doc/library/audioop.rst
index c947608..d4c0c95 100644
--- a/Doc/library/audioop.rst
+++ b/Doc/library/audioop.rst
@@ -36,7 +36,7 @@ The module defines the following variables and functions:
Return a fragment which is the addition of the two samples passed as parameters.
*width* is the sample width in bytes, either ``1``, ``2`` or ``4``. Both
- fragments should have the same length.
+ fragments should have the same length. Samples are truncated in case of overflow.
.. function:: adpcm2lin(adpcmfragment, width, state)
@@ -67,7 +67,7 @@ The module defines the following variables and functions:
.. function:: bias(fragment, width, bias)
Return a fragment that is the original fragment with a bias added to each
- sample.
+ sample. Samples wrap around in case of overflow.
.. function:: cross(fragment, width)
@@ -175,7 +175,7 @@ The module defines the following variables and functions:
.. function:: mul(fragment, width, factor)
Return a fragment that has all samples in the original fragment multiplied by
- the floating-point value *factor*. Overflow is silently ignored.
+ the floating-point value *factor*. Samples are truncated in case of overflow.
.. function:: ratecv(fragment, width, nchannels, inrate, outrate, state[, weightA[, weightB]])