From 7f8ae73a5d866d52989f2d47d200476e572ca185 Mon Sep 17 00:00:00 2001 From: Philipp Hagemeister Date: Fri, 4 Oct 2013 11:36:04 +0200 Subject: [PATCH] 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. --- youtube_dl/extractor/youtube.py | 7 ++++--- 1 file 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 @@ def _decrypt_signature(self, s, video_id, player_url, age_gate=False): 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)