mirror of https://github.com/yt-dlp/yt-dlp.git
fix
This commit is contained in:
parent
099db78935
commit
cc17902c09
|
@ -24,22 +24,7 @@ class MP4FixupTimestampPP(PostProcessor):
|
||||||
""" returns (baseMediaDecodeTime offset, sample duration cutoff) """
|
""" returns (baseMediaDecodeTime offset, sample duration cutoff) """
|
||||||
smallest_bmdt, known_sdur = inf, set()
|
smallest_bmdt, known_sdur = inf, set()
|
||||||
with open(filepath, 'rb') as r:
|
with open(filepath, 'rb') as r:
|
||||||
moov_over, in_secondary_moov = False, False
|
|
||||||
for btype, content in parse_mp4_boxes(r):
|
for btype, content in parse_mp4_boxes(r):
|
||||||
# skip duplicate MOOV boxes
|
|
||||||
if btype == 'moov':
|
|
||||||
if moov_over:
|
|
||||||
in_secondary_moov = True
|
|
||||||
continue
|
|
||||||
elif btype is None and content == 'moov':
|
|
||||||
in_secondary_moov = False
|
|
||||||
|
|
||||||
if moov_over:
|
|
||||||
continue
|
|
||||||
moov_over = True
|
|
||||||
elif in_secondary_moov:
|
|
||||||
continue
|
|
||||||
|
|
||||||
if btype == 'tfdt':
|
if btype == 'tfdt':
|
||||||
version, _ = unpack_ver_flags(content[0:4])
|
version, _ = unpack_ver_flags(content[0:4])
|
||||||
# baseMediaDecodeTime always comes to the first
|
# baseMediaDecodeTime always comes to the first
|
||||||
|
@ -79,7 +64,21 @@ class MP4FixupTimestampPP(PostProcessor):
|
||||||
def modify_mp4(self, src, dst, bmdt_offset, sdur_cutoff):
|
def modify_mp4(self, src, dst, bmdt_offset, sdur_cutoff):
|
||||||
with open(src, 'rb') as r, open(dst, 'wb') as w:
|
with open(src, 'rb') as r, open(dst, 'wb') as w:
|
||||||
def converter():
|
def converter():
|
||||||
|
moov_over, in_secondary_moov = False, False
|
||||||
for btype, content in parse_mp4_boxes(r):
|
for btype, content in parse_mp4_boxes(r):
|
||||||
|
# skip duplicate MOOV boxes
|
||||||
|
if btype == 'moov':
|
||||||
|
if moov_over:
|
||||||
|
in_secondary_moov = True
|
||||||
|
continue
|
||||||
|
elif btype is None and content == 'moov':
|
||||||
|
in_secondary_moov = False
|
||||||
|
|
||||||
|
if moov_over:
|
||||||
|
continue
|
||||||
|
moov_over = True
|
||||||
|
elif in_secondary_moov:
|
||||||
|
continue
|
||||||
if btype == 'tfdt':
|
if btype == 'tfdt':
|
||||||
version, _ = unpack_ver_flags(content[0:4])
|
version, _ = unpack_ver_flags(content[0:4])
|
||||||
if version == 0:
|
if version == 0:
|
||||||
|
|
Loading…
Reference in New Issue