mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[YoutubeDL] Ensure correct extension is always present for a merged file (Closes #5535)
This commit is contained in:
		| @@ -1382,11 +1382,18 @@ class YoutubeDL(object): | |||||||
|                         # TODO: Check acodec/vcodec |                         # TODO: Check acodec/vcodec | ||||||
|                         return False |                         return False | ||||||
|  |  | ||||||
|  |                     filename_real_ext = os.path.splitext(filename)[1][1:] | ||||||
|  |                     filename_wo_ext = ( | ||||||
|  |                         os.path.splitext(filename)[0] | ||||||
|  |                         if filename_real_ext == info_dict['ext'] | ||||||
|  |                         else filename) | ||||||
|                     requested_formats = info_dict['requested_formats'] |                     requested_formats = info_dict['requested_formats'] | ||||||
|                     if self.params.get('merge_output_format') is None and not compatible_formats(requested_formats): |                     if self.params.get('merge_output_format') is None and not compatible_formats(requested_formats): | ||||||
|                         filename = os.path.splitext(filename)[0] + '.mkv' |                         info_dict['ext'] = 'mkv' | ||||||
|                         self.report_warning('You have requested formats incompatible for merge. ' |                         self.report_warning('You have requested formats incompatible for merge. ' | ||||||
|                                             'The formats will be merged into mkv') |                                             'The formats will be merged into mkv') | ||||||
|  |                     # Ensure filename always has a correct extension for successful merge | ||||||
|  |                     filename = '%s.%s' % (filename_wo_ext, info_dict['ext']) | ||||||
|                     if os.path.exists(encodeFilename(filename)): |                     if os.path.exists(encodeFilename(filename)): | ||||||
|                         self.to_screen( |                         self.to_screen( | ||||||
|                             '[download] %s has already been downloaded and ' |                             '[download] %s has already been downloaded and ' | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user