mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-04 15:33:16 +00:00
remove duplicated MOOV bpces
This commit is contained in:
parent
3fac07c04a
commit
099db78935
|
@ -24,7 +24,22 @@ def analyze_mp4(self, filepath):
|
|||
""" returns (baseMediaDecodeTime offset, sample duration cutoff) """
|
||||
smallest_bmdt, known_sdur = inf, set()
|
||||
with open(filepath, 'rb') as r:
|
||||
moov_over, in_secondary_moov = False, False
|
||||
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':
|
||||
version, _ = unpack_ver_flags(content[0:4])
|
||||
# baseMediaDecodeTime always comes to the first
|
||||
|
|
Loading…
Reference in a new issue