Author: Armin Rigo <ar...@tunes.org>
Branch: py3.5
Changeset: r87093:df95ced30bec
Date: 2016-09-13 20:00 +0200
http://bitbucket.org/pypy/pypy/changeset/df95ced30bec/

Log:    audioop.byteswap()

diff --git a/lib_pypy/audioop.py b/lib_pypy/audioop.py
--- a/lib_pypy/audioop.py
+++ b/lib_pypy/audioop.py
@@ -578,3 +578,18 @@
     lib.adcpm2lin(rv, cp, len(cp), size, state_ptr)
     return ffi.buffer(rv)[:], tuple(state_ptr)
 
+
+def byteswap(cp, size):
+    if len(cp) % size != 0:
+        raise error("not a whole number of frames")
+    sample_count = _sample_count(cp, size)
+    rv = ffi.new("unsigned char[]", len(cp))
+    base = size
+    next_bump = 0
+    bump = 2 * size
+    for i in range(len(cp)):
+        base -= 1
+        rv[i] = cp[base]
+        if base == next_bump:
+            base += bump
+    return ffi.buffer(rv)[:]
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to