[Python-checkins] cpython (3.3): Issue #19131: The aifc module now correctly reads and writes sampwidth of
serhiy.storchaka
python-checkins at python.org
Sat Oct 12 17:25:38 CEST 2013
http://hg.python.org/cpython/rev/863a92cc9e03
changeset: 86227:863a92cc9e03
branch: 3.3
parent: 86207:2d146914d446
user: Serhiy Storchaka <storchaka at gmail.com>
date: Sat Oct 12 18:21:33 2013 +0300
summary:
Issue #19131: The aifc module now correctly reads and writes sampwidth of
compressed streams.
files:
Lib/aifc.py | 9 +++++----
Misc/NEWS | 3 +++
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/Lib/aifc.py b/Lib/aifc.py
--- a/Lib/aifc.py
+++ b/Lib/aifc.py
@@ -457,15 +457,13 @@
if self._comptype != b'NONE':
if self._comptype == b'G722':
self._convert = self._adpcm2lin
- self._framesize = self._framesize // 4
elif self._comptype in (b'ulaw', b'ULAW'):
self._convert = self._ulaw2lin
- self._framesize = self._framesize // 2
elif self._comptype in (b'alaw', b'ALAW'):
self._convert = self._alaw2lin
- self._framesize = self._framesize // 2
else:
raise Error('unsupported compression type')
+ self._sampwidth = 2
else:
self._comptype = b'NONE'
self._compname = b'not compressed'
@@ -787,7 +785,10 @@
_write_short(self._file, self._nchannels)
self._nframes_pos = self._file.tell()
_write_ulong(self._file, self._nframes)
- _write_short(self._file, self._sampwidth * 8)
+ if self._comptype in (b'ULAW', b'ulaw', b'ALAW', b'alaw', b'G722'):
+ _write_short(self._file, 8)
+ else:
+ _write_short(self._file, self._sampwidth * 8)
_write_float(self._file, self._framerate)
if self._aifc:
self._file.write(self._comptype)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -76,6 +76,9 @@
Library
-------
+- Issue #19131: The aifc module now correctly reads and writes sampwidth of
+ compressed streams.
+
- Issue #19158: a rare race in BoundedSemaphore could allow .release() too
often.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list