mirror of https://github.com/python/cpython
Issue #19131: The aifc module now correctly reads and writes sampwidth of
compressed streams.
This commit is contained in:
parent
8aa7b89983
commit
4b5325963b
|
@ -457,15 +457,13 @@ class Aifc_read:
|
||||||
if self._comptype != b'NONE':
|
if self._comptype != b'NONE':
|
||||||
if self._comptype == b'G722':
|
if self._comptype == b'G722':
|
||||||
self._convert = self._adpcm2lin
|
self._convert = self._adpcm2lin
|
||||||
self._framesize = self._framesize // 4
|
|
||||||
elif self._comptype in (b'ulaw', b'ULAW'):
|
elif self._comptype in (b'ulaw', b'ULAW'):
|
||||||
self._convert = self._ulaw2lin
|
self._convert = self._ulaw2lin
|
||||||
self._framesize = self._framesize // 2
|
|
||||||
elif self._comptype in (b'alaw', b'ALAW'):
|
elif self._comptype in (b'alaw', b'ALAW'):
|
||||||
self._convert = self._alaw2lin
|
self._convert = self._alaw2lin
|
||||||
self._framesize = self._framesize // 2
|
|
||||||
else:
|
else:
|
||||||
raise Error('unsupported compression type')
|
raise Error('unsupported compression type')
|
||||||
|
self._sampwidth = 2
|
||||||
else:
|
else:
|
||||||
self._comptype = b'NONE'
|
self._comptype = b'NONE'
|
||||||
self._compname = b'not compressed'
|
self._compname = b'not compressed'
|
||||||
|
@ -787,7 +785,10 @@ class Aifc_write:
|
||||||
_write_short(self._file, self._nchannels)
|
_write_short(self._file, self._nchannels)
|
||||||
self._nframes_pos = self._file.tell()
|
self._nframes_pos = self._file.tell()
|
||||||
_write_ulong(self._file, self._nframes)
|
_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)
|
_write_float(self._file, self._framerate)
|
||||||
if self._aifc:
|
if self._aifc:
|
||||||
self._file.write(self._comptype)
|
self._file.write(self._comptype)
|
||||||
|
|
|
@ -76,6 +76,9 @@ Core and Builtins
|
||||||
Library
|
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
|
- Issue #19158: a rare race in BoundedSemaphore could allow .release() too
|
||||||
often.
|
often.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue