[YoutubeDL] Fix bug in the detection of formats that don't contain video (fixes ...
authorJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Wed, 12 Nov 2014 08:42:35 +0000 (09:42 +0100)
committerJaime Marquínez Ferrándiz <jaime.marquinez.ferrandiz@gmail.com>
Wed, 12 Nov 2014 08:42:35 +0000 (09:42 +0100)
If the format requested was not available, we called the method '.get' in None.

youtube_dl/YoutubeDL.py

index 9fdeb4cfbc2e1f3f84105b2516e16546ee7c0897..7951001fa746481b58d818300cbfdc1bbebb9879 100755 (executable)
@@ -837,14 +837,14 @@ class YoutubeDL(object):
                         format_1, format_2 = rf.split('+')
                         formats_info = (self.select_format(format_1, formats),
                             self.select_format(format_2, formats))
-                        # The first format must contain the video and the
-                        # second the audio
-                        if formats_info[0].get('vcodec') == 'none':
-                            self.report_error('The first format must contain '
-                                'the video, try using "-f %s+%s"' %
-                                (format_2, format_1))
-                            return
                         if all(formats_info):
+                            # The first format must contain the video and the
+                            # second the audio
+                            if formats_info[0].get('vcodec') == 'none':
+                                self.report_error('The first format must '
+                                    'contain the video, try using '
+                                    '"-f %s+%s"' % (format_2, format_1))
+                                return
                             selected_format = {
                                 'requested_formats': formats_info,
                                 'format': rf,