示例#1
0
 def test_update_parents(self):
     file = open(self.filename)
     atoms = Atoms(file)
     self.assertEqual(77, atoms.atoms[0].length)
     self.assertEqual(61, atoms.atoms[0].children[0].length)
     tags = MP4Tags(atoms, file)
     tags['pgap'] = True
     tags.save(self.filename)
     file = open(self.filename)
     atoms = Atoms(file)
     # original size + 'pgap' size + padding
     self.assertEqual(77 + 25 + 974, atoms.atoms[0].length)
     self.assertEqual(61 + 25 + 974, atoms.atoms[0].children[0].length)
 def load(self, fp):
     self.filename = fp.name
     fileobj = fp
     try:
         atoms = Atoms(fileobj)
         try: self.info = MP4Info(atoms, fileobj)
         except StandardError, err:
             raise MP4StreamInfoError, err, sys.exc_info()[2]
         try: self.tags = MP4Tags(atoms, fileobj)
         except MP4MetadataError:
             self.tags = None
         except StandardError, err:
             raise MP4MetadataError, err, sys.exc_info()[2]
示例#3
0
 def test_extra_trailing_data(self):
     data = StringIO(Atom.render("data", "whee") + "\x00\x00")
     self.failUnless(Atoms(data))
示例#4
0
 def setUp(self):
     self.atoms = Atoms(open(self.filename, "rb"))
示例#5
0
 def wrap_ilst(self, data):
     ilst = Atom.render("ilst", data)
     meta = Atom.render("meta", "\x00" * 4 + ilst)
     data = Atom.render("moov", Atom.render("udta", meta))
     fileobj = StringIO(data)
     return MP4Tags(Atoms(fileobj), fileobj)