mirror of
				https://github.com/yt-dlp/yt-dlp.git
				synced 2025-11-04 00:25:15 +00:00 
			
		
		
		
	[bbc] reduce requests and improve format_id
This commit is contained in:
		@@ -294,6 +294,7 @@ class BBCCoUkIE(InfoExtractor):
 | 
				
			|||||||
    def _process_media_selector(self, media_selection, programme_id):
 | 
					    def _process_media_selector(self, media_selection, programme_id):
 | 
				
			||||||
        formats = []
 | 
					        formats = []
 | 
				
			||||||
        subtitles = None
 | 
					        subtitles = None
 | 
				
			||||||
 | 
					        urls = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for media in self._extract_medias(media_selection):
 | 
					        for media in self._extract_medias(media_selection):
 | 
				
			||||||
            kind = media.get('kind')
 | 
					            kind = media.get('kind')
 | 
				
			||||||
@@ -305,10 +306,14 @@ class BBCCoUkIE(InfoExtractor):
 | 
				
			|||||||
                height = int_or_none(media.get('height'))
 | 
					                height = int_or_none(media.get('height'))
 | 
				
			||||||
                file_size = int_or_none(media.get('media_file_size'))
 | 
					                file_size = int_or_none(media.get('media_file_size'))
 | 
				
			||||||
                for connection in self._extract_connections(media):
 | 
					                for connection in self._extract_connections(media):
 | 
				
			||||||
 | 
					                    href = connection.get('href')
 | 
				
			||||||
 | 
					                    if href in urls:
 | 
				
			||||||
 | 
					                        continue
 | 
				
			||||||
 | 
					                    if href:
 | 
				
			||||||
 | 
					                        urls.append(href)
 | 
				
			||||||
                    conn_kind = connection.get('kind')
 | 
					                    conn_kind = connection.get('kind')
 | 
				
			||||||
                    protocol = connection.get('protocol')
 | 
					                    protocol = connection.get('protocol')
 | 
				
			||||||
                    supplier = connection.get('supplier')
 | 
					                    supplier = connection.get('supplier')
 | 
				
			||||||
                    href = connection.get('href')
 | 
					 | 
				
			||||||
                    transfer_format = connection.get('transferFormat')
 | 
					                    transfer_format = connection.get('transferFormat')
 | 
				
			||||||
                    format_id = supplier or conn_kind or protocol
 | 
					                    format_id = supplier or conn_kind or protocol
 | 
				
			||||||
                    if service:
 | 
					                    if service:
 | 
				
			||||||
@@ -331,6 +336,8 @@ class BBCCoUkIE(InfoExtractor):
 | 
				
			|||||||
                        formats.extend(self._extract_f4m_formats(
 | 
					                        formats.extend(self._extract_f4m_formats(
 | 
				
			||||||
                            href, programme_id, f4m_id=format_id, fatal=False))
 | 
					                            href, programme_id, f4m_id=format_id, fatal=False))
 | 
				
			||||||
                    else:
 | 
					                    else:
 | 
				
			||||||
 | 
					                        if bitrate:
 | 
				
			||||||
 | 
					                            format_id += '-%d' %  bitrate
 | 
				
			||||||
                        fmt = {
 | 
					                        fmt = {
 | 
				
			||||||
                            'format_id': format_id,
 | 
					                            'format_id': format_id,
 | 
				
			||||||
                            'filesize': file_size,
 | 
					                            'filesize': file_size,
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user