aboutsummaryrefslogtreecommitdiff
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
parentd16b3c6677f1f699635892876f4566962094221d (diff)
[bbc] reduce requests and improve format_id
-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,