[youtube] Clarify rationale for preferring a video info with token (#7362)
authorSergey M․ <dstftw@gmail.com>
Wed, 4 Nov 2015 16:49:23 +0000 (22:49 +0600)
committerSergey M․ <dstftw@gmail.com>
Wed, 4 Nov 2015 16:49:23 +0000 (22:49 +0600)
youtube_dl/extractor/youtube.py

index 5eeb3c6633a50e7ff96cd7911883bb19d0402d9a..e2a43299fe102ce9a6a16d1090ae3010adb392d9 100644 (file)
@@ -1107,6 +1107,15 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
                     if not video_info:
                         video_info = get_video_info
                     if 'token' in get_video_info:
+                        # Different get_video_info requests may report different results, e.g.
+                        # some may report video unavailability, but some may serve it without
+                        # any complaint (see https://github.com/rg3/youtube-dl/issues/7362,
+                        # the original webpage as well as el=info and el=embedded get_video_info
+                        # requests report video unavailability due to geo restriction while
+                        # el=detailpage succeeds and returns valid data). This is probably
+                        # due to YouTube measures against IP ranges of hosting providers.
+                        # Working around by preferring the first succeeded video_info containing
+                        # the token if no such video_info yet was found.
                         if 'token' not in video_info:
                             video_info = get_video_info
                         break