Argh! This was really annoying! Much time wasted (one naturally thinks that silly error must be one's own).

But, anyway:

Lines:

  244  nitems = (chunk.chunksize - chunk.size_read) / self._sampwidth
  464  self._nframes = initlength / (self._nchannels * self._sampwidth)

Need to use Python 3.x "//" integer division.

As a workaround, at least for writing wav-files (I haven't tested reading), one may just set the number of frames exactly before writing them.

That should also fix any problems with piping (avoiding file pos seek to patch up header).

Also, the unit test should best be improved to check that updating and backpatching of number of frames actually works.


PS: It would be nice if someone(TM) could describe here in detail how to properly report errors like this. Of course I'm not going to do it if it involves establishing Yet Another Account somewhere. But hopefully it doesn't?


Cheers & hth.,

- Alf
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to