summaryrefslogtreecommitdiff
path: root/Lib/wave.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2010-11-20 11:29:09 +0000
committerGeorg Brandl <georg@python.org>2010-11-20 11:29:09 +0000
commitef805a6b17198c11c357462ca581c065b4e722a8 (patch)
tree309a5176eea7c87f8eb3130b522d11b7808a845a /Lib/wave.py
parenta7d1d2401dc4017a0b028fc7270b13c74be9e8b3 (diff)
downloadcpython-git-ef805a6b17198c11c357462ca581c065b4e722a8.tar.gz
Merged revisions 85970 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r85970 | georg.brandl | 2010-10-30 10:29:28 +0200 (Sa, 30 Okt 2010) | 1 line #10198: fix duplicate header when writeframes() is called with an empty string. ........
Diffstat (limited to 'Lib/wave.py')
-rw-r--r--Lib/wave.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/wave.py b/Lib/wave.py
index 718e1eb1c7..2016a2a697 100644
--- a/Lib/wave.py
+++ b/Lib/wave.py
@@ -319,6 +319,7 @@ class Wave_write:
self._nframeswritten = 0
self._datawritten = 0
self._datalength = 0
+ self._headerwritten = False
def __del__(self):
self.close()
@@ -449,7 +450,7 @@ class Wave_write:
#
def _ensure_header_written(self, datasize):
- if not self._datawritten:
+ if not self._headerwritten:
if not self._nchannels:
raise Error, '# channels not specified'
if not self._sampwidth:
@@ -459,6 +460,7 @@ class Wave_write:
self._write_header(datasize)
def _write_header(self, initlength):
+ assert not self._headerwritten
self._file.write('RIFF')
if not self._nframes:
self._nframes = initlength / (self._nchannels * self._sampwidth)
@@ -472,8 +474,10 @@ class Wave_write:
self._sampwidth * 8, 'data'))
self._data_length_pos = self._file.tell()
self._file.write(struct.pack('<l', self._datalength))
+ self._headerwritten = True
def _patchheader(self):
+ assert self._headerwritten
if self._datawritten == self._datalength:
return
curpos = self._file.tell()