summary refs log tree commit diff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-10-04 11:36:04 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-10-04 11:36:06 +0200
commit7f8ae73a5d866d52989f2d47d200476e572ca185 (patch)
treec194b2171ed0995db9a8c8c6ab8b7eed0bf2f969
parent466880f53106a2604235d82f38a9f2f82827c268 (diff)
downloadyoutube-dl-7f8ae73a5d866d52989f2d47d200476e572ca185.tar.gz
youtube-dl-7f8ae73a5d866d52989f2d47d200476e572ca185.tar.xz
youtube-dl-7f8ae73a5d866d52989f2d47d200476e572ca185.zip
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.
-rw-r--r--youtube_dl/extractor/youtube.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py
index 39ff33290..1101011ea 100644
--- a/youtube_dl/extractor/youtube.py
+++ b/youtube_dl/extractor/youtube.py
@@ -1037,12 +1037,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):
 
         if player_url is not None:
             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(
                         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'):
                     self._print_sig_code(func, len(s))
                 return func(s)