Explorar el Código

Include length in player cache ID

Some videos use the same player with IDs of multiple lengths.
See https://travis-ci.org/rg3/youtube-dl/jobs/12126506#L319 for an example.
Philipp Hagemeister hace 12 años
padre
commit
7f8ae73a5d
Se han modificado 1 ficheros con 4 adiciones y 3 borrados
  1. 4 3
      youtube_dl/extractor/youtube.py

+ 4 - 3
youtube_dl/extractor/youtube.py

@@ -1037,12 +1037,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
 
 
         if player_url is not None:
         if player_url is not None:
             try:
             try:
-                if player_url not in self._player_cache:
+                player_id = (player_url, len(s))
+                if player_id not in self._player_cache:
                     func = self._extract_signature_function(
                     func = self._extract_signature_function(
                         video_id, player_url, len(s)
                         video_id, player_url, len(s)
                     )
                     )
-                    self._player_cache[player_url] = func
-                func = self._player_cache[player_url]
+                    self._player_cache[player_id] = func
+                func = self._player_cache[player_id]
                 if self._downloader.params.get('youtube_print_sig_code'):
                 if self._downloader.params.get('youtube_print_sig_code'):
                     self._print_sig_code(func, len(s))
                     self._print_sig_code(func, len(s))
                 return func(s)
                 return func(s)