[downloader/f4m] Fix for Rai live streams
This commit is contained in:
		
							parent
							
								
									034a884957
								
							
						
					
					
						commit
						477b7a8474
					
				
					 1 changed files with 10 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -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:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue