From: Philipp Hagemeister Date: Fri, 4 Oct 2013 09:36:04 +0000 (+0200) Subject: Include length in player cache ID X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=7f8ae73a5d866d52989f2d47d200476e572ca185;p=youtube-dl 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. --- 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)