mirror of
				https://github.com/ytdl-org/youtube-dl
				synced 2025-10-31 01:33:15 +00:00 
			
		
		
		
	[utils] Restrict parse_codecs and add theora as known vcodec (#21381)
This commit is contained in:
		
							parent
							
								
									8361e7f934
								
							
						
					
					
						commit
						28cc2241e4
					
				| @ -822,6 +822,15 @@ class TestUtil(unittest.TestCase): | ||||
|             'vcodec': 'av01.0.05M.08', | ||||
|             'acodec': 'none', | ||||
|         }) | ||||
|         self.assertEqual(parse_codecs('theora, vorbis'), { | ||||
|             'vcodec': 'theora', | ||||
|             'acodec': 'vorbis', | ||||
|         }) | ||||
|         self.assertEqual(parse_codecs('unknownvcodec, unknownacodec'), { | ||||
|             'vcodec': 'unknownvcodec', | ||||
|             'acodec': 'unknownacodec', | ||||
|         }) | ||||
|         self.assertEqual(parse_codecs('unknown'), {}) | ||||
| 
 | ||||
|     def test_escape_rfc3986(self): | ||||
|         reserved = "!*'();:@&=+$,/?#[]" | ||||
|  | ||||
| @ -2529,7 +2529,7 @@ def parse_codecs(codecs_str): | ||||
|     vcodec, acodec = None, None | ||||
|     for full_codec in splited_codecs: | ||||
|         codec = full_codec.split('.')[0] | ||||
|         if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1', 'av01'): | ||||
|         if codec in ('avc1', 'avc2', 'avc3', 'avc4', 'vp9', 'vp8', 'hev1', 'hev2', 'h263', 'h264', 'mp4v', 'hvc1', 'av01', 'theora'): | ||||
|             if not vcodec: | ||||
|                 vcodec = full_codec | ||||
|         elif codec in ('mp4a', 'opus', 'vorbis', 'mp3', 'aac', 'ac-3', 'ec-3', 'eac3', 'dtsc', 'dtse', 'dtsh', 'dtsl'): | ||||
| @ -2540,13 +2540,8 @@ def parse_codecs(codecs_str): | ||||
|     if not vcodec and not acodec: | ||||
|         if len(splited_codecs) == 2: | ||||
|             return { | ||||
|                 'vcodec': vcodec, | ||||
|                 'acodec': acodec, | ||||
|             } | ||||
|         elif len(splited_codecs) == 1: | ||||
|             return { | ||||
|                 'vcodec': 'none', | ||||
|                 'acodec': vcodec, | ||||
|                 'vcodec': splited_codecs[0], | ||||
|                 'acodec': splited_codecs[1], | ||||
|             } | ||||
|     else: | ||||
|         return { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sergey M․
						Sergey M․