MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / _write_header

Method _write_header

tools/python-3.11.9-amd64/Lib/sunau.py:472–512  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

470 self._write_header()
471
472 def _write_header(self):
473 if self._comptype == 'NONE':
474 if self._sampwidth == 1:
475 encoding = AUDIO_FILE_ENCODING_LINEAR_8
476 self._framesize = 1
477 elif self._sampwidth == 2:
478 encoding = AUDIO_FILE_ENCODING_LINEAR_16
479 self._framesize = 2
480 elif self._sampwidth == 3:
481 encoding = AUDIO_FILE_ENCODING_LINEAR_24
482 self._framesize = 3
483 elif self._sampwidth == 4:
484 encoding = AUDIO_FILE_ENCODING_LINEAR_32
485 self._framesize = 4
486 else:
487 raise Error('internal error')
488 elif self._comptype == 'ULAW':
489 encoding = AUDIO_FILE_ENCODING_MULAW_8
490 self._framesize = 1
491 else:
492 raise Error('internal error')
493 self._framesize = self._framesize * self._nchannels
494 _write_u32(self._file, AUDIO_FILE_MAGIC)
495 header_size = 25 + len(self._info)
496 header_size = (header_size + 7) & ~7
497 _write_u32(self._file, header_size)
498 if self._nframes == AUDIO_UNKNOWN_SIZE:
499 length = AUDIO_UNKNOWN_SIZE
500 else:
501 length = self._nframes * self._framesize
502 try:
503 self._form_length_pos = self._file.tell()
504 except (AttributeError, OSError):
505 self._form_length_pos = None
506 _write_u32(self._file, length)
507 self._datalength = length
508 _write_u32(self._file, encoding)
509 _write_u32(self._file, self._framerate)
510 _write_u32(self._file, self._nchannels)
511 self._file.write(self._info)
512 self._file.write(b'\0'*(header_size - len(self._info) - 24))
513
514 def _patchheader(self):
515 if self._form_length_pos is None:

Callers 1

Calls 4

_write_u32Function · 0.85
ErrorClass · 0.70
tellMethod · 0.45
writeMethod · 0.45

Tested by

no test coverage detected