[generic] Fix support for multiple HTML5 videos on one page (closes #14080)
This commit is contained in:
		@@ -1879,6 +1879,15 @@ class GenericIE(InfoExtractor):
 | 
			
		||||
                'title': 'Building A Business Online: Principal Chairs Q & A',
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
        {
 | 
			
		||||
            # multiple HTML5 videos on one page
 | 
			
		||||
            'url': 'https://www.paragon-software.com/home/rk-free/keyscenarios.html',
 | 
			
		||||
            'info_dict': {
 | 
			
		||||
                'id': 'keyscenarios',
 | 
			
		||||
                'title': 'Rescue Kit 14 Free Edition - Getting started',
 | 
			
		||||
            },
 | 
			
		||||
            'playlist_count': 4,
 | 
			
		||||
        }
 | 
			
		||||
        # {
 | 
			
		||||
        #     # TODO: find another test
 | 
			
		||||
        #     # http://schema.org/VideoObject
 | 
			
		||||
@@ -2849,13 +2858,20 @@ class GenericIE(InfoExtractor):
 | 
			
		||||
        # Look for HTML5 media
 | 
			
		||||
        entries = self._parse_html5_media_entries(url, webpage, video_id, m3u8_id='hls')
 | 
			
		||||
        if entries:
 | 
			
		||||
            for entry in entries:
 | 
			
		||||
                entry.update({
 | 
			
		||||
            if len(entries) == 1:
 | 
			
		||||
                entries[0].update({
 | 
			
		||||
                    'id': video_id,
 | 
			
		||||
                    'title': video_title,
 | 
			
		||||
                })
 | 
			
		||||
            else:
 | 
			
		||||
                for num, entry in enumerate(entries, start=1):
 | 
			
		||||
                    entry.update({
 | 
			
		||||
                        'id': '%s-%s' % (video_id, num),
 | 
			
		||||
                        'title': '%s (%d)' % (video_title, num),
 | 
			
		||||
                    })
 | 
			
		||||
            for entry in entries:
 | 
			
		||||
                self._sort_formats(entry['formats'])
 | 
			
		||||
            return self.playlist_result(entries)
 | 
			
		||||
            return self.playlist_result(entries, video_id, video_title)
 | 
			
		||||
 | 
			
		||||
        jwplayer_data = self._find_jwplayer_data(
 | 
			
		||||
            webpage, video_id, transform_source=js_to_json)
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user