about summary refs log tree commit diff
path: root/youtube_dl/extractor/bbc.py
diff options
context:
space:
mode:
authorRemita Amine <remitamine@gmail.com>2016-08-06 19:24:59 +0100
committerRemita Amine <remitamine@gmail.com>2016-08-06 19:24:59 +0100
commitb0af12154e4a76bf7d493c7eb75cdeea6cf8fe17 (patch)
treeeb7f1551692b8ba54ba078d588d144258ef24b9f /youtube_dl/extractor/bbc.py
parentd16b3c6677f1f699635892876f4566962094221d (diff)
downloadyoutube-dl-b0af12154e4a76bf7d493c7eb75cdeea6cf8fe17.tar.gz
youtube-dl-b0af12154e4a76bf7d493c7eb75cdeea6cf8fe17.tar.xz
youtube-dl-b0af12154e4a76bf7d493c7eb75cdeea6cf8fe17.zip
[bbc] reduce requests and improve format_id
Diffstat (limited to 'youtube_dl/extractor/bbc.py')
-rw-r--r--youtube_dl/extractor/bbc.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py
index 45c562bd8..35d042e4d 100644
--- a/youtube_dl/extractor/bbc.py
+++ b/youtube_dl/extractor/bbc.py
@@ -294,6 +294,7 @@ class BBCCoUkIE(InfoExtractor):
     def _process_media_selector(self, media_selection, programme_id):
         formats = []
         subtitles = None
+        urls = []
 
         for media in self._extract_medias(media_selection):
             kind = media.get('kind')
@@ -305,10 +306,14 @@ class BBCCoUkIE(InfoExtractor):
                 height = int_or_none(media.get('height'))
                 file_size = int_or_none(media.get('media_file_size'))
                 for connection in self._extract_connections(media):
+                    href = connection.get('href')
+                    if href in urls:
+                        continue
+                    if href:
+                        urls.append(href)
                     conn_kind = connection.get('kind')
                     protocol = connection.get('protocol')
                     supplier = connection.get('supplier')
-                    href = connection.get('href')
                     transfer_format = connection.get('transferFormat')
                     format_id = supplier or conn_kind or protocol
                     if service:
@@ -331,6 +336,8 @@ class BBCCoUkIE(InfoExtractor):
                         formats.extend(self._extract_f4m_formats(
                             href, programme_id, f4m_id=format_id, fatal=False))
                     else:
+                        if bitrate:
+                            format_id += '-%d' %  bitrate
                         fmt = {
                             'format_id': format_id,
                             'filesize': file_size,