(self, initlength)
| 588 | self._write_header(datasize) |
| 589 | |
| 590 | def _write_header(self, initlength): |
| 591 | assert not self._headerwritten |
| 592 | self._file.write(b'RIFF') |
| 593 | if not self._nframes: |
| 594 | self._nframes = initlength // (self._nchannels * self._sampwidth) |
| 595 | self._datalength = self._nframes * self._nchannels * self._sampwidth |
| 596 | try: |
| 597 | self._form_length_pos = self._file.tell() |
| 598 | except (AttributeError, OSError): |
| 599 | self._form_length_pos = None |
| 600 | self._file.write(struct.pack('<L4s4sLHHLLHH4s', |
| 601 | 36 + self._datalength, b'WAVE', b'fmt ', 16, |
| 602 | WAVE_FORMAT_PCM, self._nchannels, self._framerate, |
| 603 | self._nchannels * self._framerate * self._sampwidth, |
| 604 | self._nchannels * self._sampwidth, |
| 605 | self._sampwidth * 8, b'data')) |
| 606 | if self._form_length_pos is not None: |
| 607 | self._data_length_pos = self._file.tell() |
| 608 | self._file.write(struct.pack('<L', self._datalength)) |
| 609 | self._headerwritten = True |
| 610 | |
| 611 | def _patchheader(self): |
| 612 | assert self._headerwritten |
no test coverage detected