diff options
Diffstat (limited to 'youtube_dlc/downloader/external.py')
-rw-r--r-- | youtube_dlc/downloader/external.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/youtube_dlc/downloader/external.py b/youtube_dlc/downloader/external.py index 0b894f5a5..ff82d6779 100644 --- a/youtube_dlc/downloader/external.py +++ b/youtube_dlc/downloader/external.py @@ -126,11 +126,13 @@ class ExternalFD(FileDownloader): for [i, url] in enumerate(info_dict['url_list']): tmpsegmentname = '%s_%s.frag' % (tmpfilename, i) file_list.append(tmpsegmentname) + key_list = info_dict.get('key_list') + decrypt_info = None dest, _ = sanitize_open(tmpfilename, 'wb') - for i in file_list: - src, _ = sanitize_open(i, 'rb') - if 'decrypt_info' in info_dict: - decrypt_info = info_dict['decrypt_info'] + for i, file in enumerate(file_list): + src, _ = sanitize_open(file, 'rb') + if key_list: + decrypt_info = next((x for x in key_list if x['INDEX'] == i), decrypt_info) if decrypt_info['METHOD'] == 'AES-128': iv = decrypt_info.get('IV') decrypt_info['KEY'] = decrypt_info.get('KEY') or self.ydl.urlopen( |