def test_ushort(self): self.failUnlessEqual(cdata.ushort_le(self.ZERO(2)), 0) self.failUnlessEqual(cdata.ushort_le(self.LEONE(2)), 1) self.failUnlessEqual(cdata.ushort_le(self.BEONE(2)), 2 ** 16 >> 8) self.failUnlessEqual(cdata.ushort_le(self.NEGONE(2)), 65535) self.assertTrue(cdata.ushort_le is cdata.uint16_le) self.failUnlessEqual(cdata.ushort_be(self.ZERO(2)), 0) self.failUnlessEqual(cdata.ushort_be(self.LEONE(2)), 2 ** 16 >> 8) self.failUnlessEqual(cdata.ushort_be(self.BEONE(2)), 1) self.failUnlessEqual(cdata.ushort_be(self.NEGONE(2)), 65535) self.assertTrue(cdata.ushort_be is cdata.uint16_be)
def test_ushort(self): self.failUnlessEqual(cdata.ushort_le(self.ZERO(2)), 0) self.failUnlessEqual(cdata.ushort_le(self.LEONE(2)), 1) self.failUnlessEqual(cdata.ushort_le(self.BEONE(2)), 2**16 >> 8) self.failUnlessEqual(cdata.ushort_le(self.NEGONE(2)), 65535) self.assertTrue(cdata.ushort_le is cdata.uint16_le) self.failUnlessEqual(cdata.ushort_be(self.ZERO(2)), 0) self.failUnlessEqual(cdata.ushort_be(self.LEONE(2)), 2**16 >> 8) self.failUnlessEqual(cdata.ushort_be(self.BEONE(2)), 1) self.failUnlessEqual(cdata.ushort_be(self.NEGONE(2)), 65535) self.assertTrue(cdata.ushort_be is cdata.uint16_be)
def __parse_tempo(self, atom, data): values = [] for version, flags, data in self.__parse_data(atom, data): # version = 0, flags = 0 or 21 if len(data) != 2: raise MP4MetadataValueError("invalid tempo") values.append(cdata.ushort_be(data)) key = _name2key(atom.name) self.__add(key, values)
def __parse_tempo(self, atom, data): values = [] for version, flags, data in self.__parse_data(atom, data): # version = 0, flags = 0 or 21 if len(data) != 2: raise MP4MetadataValueError("invalid tempo") values.append(cdata.ushort_be(data)) key = _name2key(atom.name) self.__add(key, values)
def __init__(self, fileobj): page = OggPage(fileobj) while not page.packets[0].startswith("\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("\x00" + data[37:40]) self.granule_shift = (cdata.ushort_be(data[40:42]) >> 5) & 0x1F self.serial = page.serial
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
def __parse_tempo(self, atom, data): self[atom.name] = [cdata.ushort_be(value[1]) for value in self.__parse_data(atom, data)]