dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							570b868078 
							
						 
					 
					
						
						
							
							[cache] Use esc_rfc3986 to encode cache key  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2190e89260 
							
						 
					 
					
						
						
							
							[utils] Support optional safe argument for escape_rfc3986()  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							7e136639db 
							
						 
					 
					
						
						
							
							[compat] Improve Py2 compatibility for URL Quoting  
						
						
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							cedeeed56f 
							
						 
					 
					
						
						
							
							[cache] Align further with yt-dlp  
						
						... 
						
						
						
						* use compat_os_makedirs
* support non-ASCII characters in cache key
* improve logging 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							add4622870 
							
						 
					 
					
						
						
							
							[compat] Add compat_os_makedirs  
						
						... 
						
						
						
						* support exists_ok parameter in Py < 3.2 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							9a6ddece4d 
							
						 
					 
					
						
						
							
							[core] Refactor message routines to align better with yt-dlp  
						
						... 
						
						
						
						* in particular, support `only_once` in the same methods 
						
						
					 
					
						2025-04-08 01:59:00 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							3eb8d22ddb 
							
						 
					 
					
						
						
							
							[JSInterp] Temporary fix for  #33102  
						
						
						
						
					 
					
						2025-03-31 04:21:09 +01:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							4e714f9df1 
							
						 
					 
					
						
						
							
							[Misc] Correct [_]IE_DESC/NAME in a few IEs  
						
						... 
						
						
						
						* thx seproDev, yt-dlp/yt-dlp/pull/12694/commits/ae69e3c
* also add documenting comment in `InfoExtractor` 
						
						
					 
					
						2025-03-26 12:47:19 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							c1ea7f5a24 
							
						 
					 
					
						
						
							
							[ITV] Mark ITVX not working  
						
						... 
						
						
						
						* update old shim
* correct [_]IE_DESC 
						
						
					 
					
						2025-03-26 12:17:49 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2b4fbfce25 
							
						 
					 
					
						
						
							
							[YouTube] Support player 4fcd6e4a  
						
						... 
						
						
						
						thx seproDev, bashonly: yt-dlp/yt-dlp#12748  
						
						
					 
					
						2025-03-26 02:27:25 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1bc45b8b6c 
							
						 
					 
					
						
						
							
							[JSInterp] Use , for join() with null/undefined argument  
						
						... 
						
						
						
						Eg: [1,2,3].join(null) -> '1,2,3' 
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							c55dbf4838 
							
						 
					 
					
						
						
							
							[YouTube] Update signature extraction for players 643afba4, 363db69b  
						
						
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							087d865230 
							
						 
					 
					
						
						
							
							[YouTube] Support new player URL patterns  
						
						
						
						
					 
					
						2025-03-25 22:35:06 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							a4fc1151f1 
							
						 
					 
					
						
						
							
							[JSInterp] Improve indexing  
						
						... 
						
						
						
						* catch invalid list index with `ValueError` (eg [1, 2]['ab'] -> undefined)
* allow assignment outside existing list (eg var l = [1,2]; l[9] = 0;) 
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							a464c159e6 
							
						 
					 
					
						
						
							
							[YouTube] Make _extract_player_info() use _search_regex()  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							7dca08eff0 
							
						 
					 
					
						
						
							
							[YouTube] Also get original of translated automatic captions  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							2239ee7965 
							
						 
					 
					
						
						
							
							[YouTube] Get subtitles/automatic captions from both web and API responses  
						
						
						
						
					 
					
						2025-03-25 22:35:05 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							da7223d4aa 
							
						 
					 
					
						
						
							
							[YouTube] Improve support for tce-style player JS  
						
						... 
						
						
						
						* improve extraction of global "useful data" Array from player JS
* also handle tv-player and add tests: thx seproDev (yt-dlp/yt-dlp#12684 )
Co-Authored-By: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-03-21 16:26:25 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							37c2440d6a 
							
						 
					 
					
						
						
							
							[YouTube] Update player client data  
						
						... 
						
						
						
						thx seproDev (yt-dlp/yt-dlp#12603 )
Co-authored-by: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-03-21 16:13:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							420d53387c 
							
						 
					 
					
						
						
							
							[JSInterp] Improve tests  
						
						... 
						
						
						
						* from yt-dlp/yt-dlp#12313 
* also fix d7c2708 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							32f89de92b 
							
						 
					 
					
						
						
							
							[YouTube] Update TVHTML5 client parameters  
						
						... 
						
						
						
						* resolves  #33078  
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							283dca56fe 
							
						 
					 
					
						
						
							
							[YouTube] Initially support tce-style player JS  
						
						... 
						
						
						
						* resolves  #33079  
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							422b1b31cf 
							
						 
					 
					
						
						
							
							[YouTube] Temporarily redirect from tce-style player JS  
						
						
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1dc27e1c3b 
							
						 
					 
					
						
						
							
							[JSInterp] Make indexing error handling more conformant  
						
						... 
						
						
						
						* by default TypeError -> undefined, else raise
* set allow_undefined=True/False to override 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							af049e309b 
							
						 
					 
					
						
						
							
							[JSInterp] Handle undefined, etc, passed to JS_RegExp and Exception  
						
						
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							94849bc997 
							
						 
					 
					
						
						
							
							[JSInterp] Improve Date processing  
						
						... 
						
						
						
						* add JS_Date class implementing JS Date
* support constructor args other than date string
* support static methods of Date
* Date objects are still automatically coerced to timestamp before using in JS. 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							974c7d7f34 
							
						 
					 
					
						
						
							
							[compat] Fix inheriting from compat_collections_chain_map  
						
						... 
						
						
						
						* see ytdl-org/youtube-dl#33079#issuecomment-2704038049 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							8738407d77 
							
						 
					 
					
						
						
							
							[compat] Support zstd Content-Encoding  
						
						... 
						
						
						
						* see RFC 8878 7.2 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							cecaa18b80 
							
						 
					 
					
						
						
							
							[compat] Clean-up  
						
						... 
						
						
						
						* make workaround_optparse_bug9161 private
* add comments
* avoid leaving test objects behind 
						
						
					 
					
						2025-03-11 02:00:24 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							673277e510 
							
						 
					 
					
						
						
							
							[YouTube] Fix 91b1569  
						
						
						
						
					 
					
						2025-02-28 01:02:20 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							91b1569f68 
							
						 
					 
					
						
						
							
							[YouTube] Fix channel playlist extraction ( #33074 )  
						
						... 
						
						
						
						* [YouTube] Extract playlist items from LOCKUP_VIEW_MODEL_...
* resolves  #33073 
* thx seproDev (yt-dlp/yt-dlp#11615 )
Co-authored-by: sepro <sepro@sepr0.com> 
						
						
					 
					
						2025-02-28 00:02:10 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							711e72c292 
							
						 
					 
					
						
						
							
							[JSInterp] Fix bit-shift coercion for player 9c6dfc4a  
						
						
						
						
					 
					
						2025-02-07 00:01:50 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							26b6f15d14 
							
						 
					 
					
						
						
							
							[compat] Make casefold private  
						
						... 
						
						
						
						* if required, not supported:
`from youtube_dl.casefold import _casefold as casefold` 
						
						
					 
					
						2025-02-07 00:01:50 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							5975d7bb96 
							
						 
					 
					
						
						
							
							[YouTube] Use X-Goog-Visitor-Id  
						
						... 
						
						
						
						* required with tv player client
* resolves  #33030  
						
						
					 
					
						2025-01-22 06:52:40 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							63fb0fc415 
							
						 
					 
					
						
						
							
							[YouTube] Retain .videoDetails members from all player responses  
						
						
						
						
					 
					
						2025-01-20 13:23:54 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							b09442a2f4 
							
						 
					 
					
						
						
							
							[YouTube] Also use ios client when is_live  
						
						
						
						
					 
					
						2025-01-19 01:18:34 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							55ad8a24ca 
							
						 
					 
					
						
						
							
							[YouTube] Support ... /feeds/videos.xml?playlist_id={pl_id}  
						
						
						
						
					 
					
						2025-01-15 03:22:56 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							21fff05121 
							
						 
					 
					
						
						
							
							[YouTube] Switch to TV API client  
						
						... 
						
						
						
						* thx yt-dlp/yt-dlp#12059  
						
						
					 
					
						2025-01-15 03:19:15 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							1036478d13 
							
						 
					 
					
						
						
							
							[YouTube] Endure subtitle URLs are complete  
						
						... 
						
						
						
						* WEB URLs are, MWEB not
* resolves  #33017  
						
						
					 
					
						2025-01-06 01:39:04 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							00ad2b8ca1 
							
						 
					 
					
						
						
							
							[YouTube] Refactor subtitle processing  
						
						... 
						
						
						
						* move to internal function
* use `traverse-obj()` 
						
						
					 
					
						2025-01-06 01:24:30 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							ab7c61ca29 
							
						 
					 
					
						
						
							
							[YouTube] Apply code style changes, trailing commas, etc  
						
						
						
						
					 
					
						2025-01-06 01:22:16 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							176fc2cb00 
							
						 
					 
					
						
						
							
							[YouTube] Avoid early crash if webpage can't be read  
						
						... 
						
						
						
						* see issue #33013  
						
						
					 
					
						2024-12-31 14:51:29 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							d55d1f423d 
							
						 
					 
					
						
						
							
							[YouTube] Always extract using MWEB API client  
						
						... 
						
						
						
						* temporary fix-up for 403 on download
* MWEB parameters from yt-dlp 2024-12-06 
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							eeafbbc3e5 
							
						 
					 
					
						
						
							
							[YouTube] Fix signature function extraction for 2f1832d2  
						
						... 
						
						
						
						* `_` was omitted from patterns
* thx yt-dlp/yt-dlp#11801 
Co-authored-by: bashonly 
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							cd7c7b5edb 
							
						 
					 
					
						
						
							
							[YouTube] Simplify pattern for nsig function name extraction  
						
						
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							eed784e15f 
							
						 
					 
					
						
						
							
							[YouTube] Pass nsig value as return hook, fixes player 3bb1f723  
						
						
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							b4469a0f65 
							
						 
					 
					
						
						
							
							[YouTube] Handle player 3bb1f723  
						
						... 
						
						
						
						* fix signature code extraction
* raise if n function returns input value
* add new tests from yt-dlp
Co-authored-by: bashonly 
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							ce1e556b8f 
							
						 
					 
					
						
						
							
							[jsinterp] Add return hook for player 3bb1f723  
						
						... 
						
						
						
						* set var `_ytdl_do_not_return` to a specific value in the scope of a function
* if an expression to be returned has that value, `return` becomes `void` 
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							f487b4a02a 
							
						 
					 
					
						
						
							
							[jsinterp] Strip /* comments */ when parsing  
						
						... 
						
						
						
						* NB: _separate() is looking creaky 
						
						
					 
					
						2024-12-16 12:38:51 +00:00 
						 
				 
			
				
					
						
							
							
								dirkf 
							
						 
					 
					
						
						
						
						
							
						
						
							60835ca16c 
							
						 
					 
					
						
						
							
							[jsinterp] Fix and improve "methods"  
						
						... 
						
						
						
						* push, unshift return new length
* impove edge cases for push/pop, shift/unshift, forEach, indexOf, charCodeAt
* increase test coverage 
						
						
					 
					
						2024-12-16 12:38:51 +00:00