[downloader/f4m] The last value in a tag is the tag length
This commit is contained in:
parent
3b8f3a1504
commit
2c322cc5d6
1 changed files with 7 additions and 3 deletions
|
@ -187,6 +187,10 @@ def build_fragments_list(boot_info):
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def write_unsigned_int(stream, val):
|
||||||
|
stream.write(struct_pack('!I', val))
|
||||||
|
|
||||||
|
|
||||||
def write_flv_header(stream):
|
def write_flv_header(stream):
|
||||||
"""Writes the FLV header to stream"""
|
"""Writes the FLV header to stream"""
|
||||||
# FLV header
|
# FLV header
|
||||||
|
@ -198,6 +202,8 @@ def write_flv_header(stream):
|
||||||
|
|
||||||
def write_metadata_tag(stream, metadata):
|
def write_metadata_tag(stream, metadata):
|
||||||
"""Writes optional metadata tag to stream"""
|
"""Writes optional metadata tag to stream"""
|
||||||
|
FLV_TAG_HEADER_LEN = 11
|
||||||
|
|
||||||
if metadata:
|
if metadata:
|
||||||
# Script data
|
# Script data
|
||||||
stream.write(b'\x12')
|
stream.write(b'\x12')
|
||||||
|
@ -205,9 +211,7 @@ def write_metadata_tag(stream, metadata):
|
||||||
stream.write(struct_pack('!L', len(metadata))[1:])
|
stream.write(struct_pack('!L', len(metadata))[1:])
|
||||||
stream.write(b'\x00\x00\x00\x00\x00\x00\x00')
|
stream.write(b'\x00\x00\x00\x00\x00\x00\x00')
|
||||||
stream.write(metadata)
|
stream.write(metadata)
|
||||||
# Magic numbers extracted from the output files produced by AdobeHDS.php
|
write_unsigned_int(stream, FLV_TAG_HEADER_LEN + len(metadata))
|
||||||
# (https://github.com/K-S-V/Scripts)
|
|
||||||
stream.write(b'\x00\x00\x01\x73')
|
|
||||||
|
|
||||||
|
|
||||||
def _add_ns(prop):
|
def _add_ns(prop):
|
||||||
|
|
Loading…
Reference in a new issue