1
0
mirror of https://github.com/l1ving/youtube-dl synced 2026-06-03 08:09:57 +08:00

[downloader/hls] fix EXT-X-BYTERANGE off-by-one bug

The end of the byte range is the first byte that is NOT part of the to
be downloaded range. So don't include it into the requested HTTP
download range, as this additional byte leads to a broken TS packet and
subsequently to e.g. visible video corruption.

Fixes #14748.
This commit is contained in:
Stefan Pöschel
2020-03-28 12:10:48 +01:00
Unverified
parent 049c0486bb
commit ba021401f8
+1 -1
View File
@@ -141,7 +141,7 @@ class HlsFD(FragmentFD):
count = 0
headers = info_dict.get('http_headers', {})
if byte_range:
headers['Range'] = 'bytes=%d-%d' % (byte_range['start'], byte_range['end'])
headers['Range'] = 'bytes=%d-%d' % (byte_range['start'], byte_range['end'] - 1)
while count <= fragment_retries:
try:
success, frag_content = self._download_fragment(