[downloader/hls] Fix incorrect end byte in Range HTTP header for media segments with EXT-X-BYTERANGE (#24512) (closes #14748)
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:
		
							parent
							
								
									f8c7bed133
								
							
						
					
					
						commit
						6e65a2a67e
					
				
					 1 changed files with 1 additions and 1 deletions
				
			
		| 
						 | 
					@ -141,7 +141,7 @@ class HlsFD(FragmentFD):
 | 
				
			||||||
                    count = 0
 | 
					                    count = 0
 | 
				
			||||||
                    headers = info_dict.get('http_headers', {})
 | 
					                    headers = info_dict.get('http_headers', {})
 | 
				
			||||||
                    if byte_range:
 | 
					                    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:
 | 
					                    while count <= fragment_retries:
 | 
				
			||||||
                        try:
 | 
					                        try:
 | 
				
			||||||
                            success, frag_content = self._download_fragment(
 | 
					                            success, frag_content = self._download_fragment(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue