This commit is contained in:
pukkandan 2023-02-13 01:34:27 +05:30
parent 5712943b76
commit c154302c58
No known key found for this signature in database
GPG Key ID: 7EEE9E1E817D0A39
1 changed files with 10 additions and 9 deletions

View File

@ -2466,15 +2466,8 @@ class YoutubeDL:
def sort_formats(self, info_dict): def sort_formats(self, info_dict):
formats = self._get_formats(info_dict) formats = self._get_formats(info_dict)
if not formats:
return
# Backward compatibility with InfoExtractor._sort_formats
field_preference = formats[0].pop('__sort_fields', None)
if field_preference:
info_dict['_format_sort_fields'] = field_preference
formats.sort(key=FormatSorter( formats.sort(key=FormatSorter(
self, info_dict.get('_format_sort_fields', [])).calculate_preference) self, info_dict.get('_format_sort_fields') or []).calculate_preference)
def process_video_result(self, info_dict, download=True): def process_video_result(self, info_dict, download=True):
assert info_dict.get('_type', 'video') == 'video' assert info_dict.get('_type', 'video') == 'video'
@ -2563,6 +2556,11 @@ class YoutubeDL:
formats = self._get_formats(info_dict) formats = self._get_formats(info_dict)
# Backward compatibility with InfoExtractor._sort_formats
field_preference = formats[0].pop('__sort_fields', None)
if field_preference:
info_dict['_format_sort_fields'] = field_preference
# or None ensures --clean-infojson removes it # or None ensures --clean-infojson removes it
info_dict['_has_drm'] = any(f.get('has_drm') for f in formats) or None info_dict['_has_drm'] = any(f.get('has_drm') for f in formats) or None
if not self.params.get('allow_unplayable_formats'): if not self.params.get('allow_unplayable_formats'):
@ -2623,7 +2621,10 @@ class YoutubeDL:
if '__x_forwarded_for_ip' in info_dict: if '__x_forwarded_for_ip' in info_dict:
del info_dict['__x_forwarded_for_ip'] del info_dict['__x_forwarded_for_ip']
self.sort_formats({'formats': formats}) self.sort_formats({
'formats': formats,
'_format_sort_fields': info_dict.get('_format_sort_fields')
})
# Sanitize and group by format_id # Sanitize and group by format_id
formats_dict = {} formats_dict = {}