Beispiel #1
0
 def __init__(self, fileobj):
     page = OggPage(fileobj)
     while not page.packets[0].startswith(b"\x80theora"):
         page = OggPage(fileobj)
     if not page.first:
         raise OggTheoraHeaderError(
             "page has ID header, but doesn't start a stream")
     data = page.packets[0]
     vmaj, vmin = struct.unpack("2B", data[7:9])
     if (vmaj, vmin) != (3, 2):
         raise OggTheoraHeaderError(
             "found Theora version %d.%d != 3.2" % (vmaj, vmin))
     fps_num, fps_den = struct.unpack(">2I", data[22:30])
     self.fps = fps_num / fps_den
     self.bitrate = cdata.uint_be(b"\x00" + data[37:40])
     self.granule_shift = (cdata.ushort_be(data[40:42]) >> 5) & 0x1F
     self.serial = page.serial
Beispiel #2
0
 def __init__(self, fileobj):
     page = OggPage(fileobj)
     while not page.packets[0].startswith(b"\x80theora"):
         page = OggPage(fileobj)
     if not page.first:
         raise OggTheoraHeaderError(
             "page has ID header, but doesn't start a stream")
     data = page.packets[0]
     vmaj, vmin = struct.unpack("2B", data[7:9])
     if (vmaj, vmin) != (3, 2):
         raise OggTheoraHeaderError(
             "found Theora version %d.%d != 3.2" % (vmaj, vmin))
     fps_num, fps_den = struct.unpack(">2I", data[22:30])
     self.fps = fps_num / float(fps_den)
     self.bitrate = cdata.uint_be(b"\x00" + data[37:40])
     self.granule_shift = (cdata.ushort_be(data[40:42]) >> 5) & 0x1F
     self.serial = page.serial
Beispiel #3
0
 def __parse_tempo(self, atom, data):
     self[atom.name] = [
         cdata.ushort_be(value[1])
         for value in self.__parse_data(atom, data)
     ]
Beispiel #4
0
 def __parse_tempo(self, atom, data):
     self[atom.name] = [cdata.ushort_be(value[1]) for
                        value in self.__parse_data(atom, data)]