mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-10-31 14:45:14 +00:00 
			
		
		
		
	[downloader/f4m] Fix for Rai live streams
This commit is contained in:
		| @@ -196,6 +196,11 @@ def build_fragments_list(boot_info): | ||||
|     first_frag_number = fragment_run_entry_table[0]['first'] | ||||
|     fragments_counter = itertools.count(first_frag_number) | ||||
|     for segment, fragments_count in segment_run_table['segment_run']: | ||||
|         # In some live HDS streams (for example Rai), `fragments_count` is | ||||
|         # abnormal and causing out-of-memory errors. It's OK to change the | ||||
|         # number of fragments for live streams as they are updated periodically | ||||
|         if fragments_count == 4294967295 and boot_info['live']: | ||||
|             fragments_count = 2 | ||||
|         for _ in range(fragments_count): | ||||
|             res.append((segment, next(fragments_counter))) | ||||
|  | ||||
| @@ -329,7 +334,11 @@ class F4mFD(FragmentFD): | ||||
|  | ||||
|         base_url = compat_urlparse.urljoin(man_url, media.attrib['url']) | ||||
|         bootstrap_node = doc.find(_add_ns('bootstrapInfo')) | ||||
|         boot_info, bootstrap_url = self._parse_bootstrap_node(bootstrap_node, base_url) | ||||
|         # From Adobe F4M 3.0 spec: | ||||
|         # The <baseURL> element SHALL be the base URL for all relative | ||||
|         # (HTTP-based) URLs in the manifest. If <baseURL> is not present, said | ||||
|         # URLs should be relative to the location of the containing document. | ||||
|         boot_info, bootstrap_url = self._parse_bootstrap_node(bootstrap_node, man_url) | ||||
|         live = boot_info['live'] | ||||
|         metadata_node = media.find(_add_ns('metadata')) | ||||
|         if metadata_node is not None: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Yen Chi Hsuan
					Yen Chi Hsuan