X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fdownloader%2Fhls.py;h=7743e176a82023301ff388229b4e306c7e9b8137;hb=393ca8c94d1adb1490b23265370ce69043b92546;hp=2b6c3370f5c16a0998e8125223a51c53e0ef5c90;hpb=7393746da213bec686f8425165854e5e383b7eb9;p=youtube-dl diff --git a/youtube_dl/downloader/hls.py b/youtube_dl/downloader/hls.py index 2b6c3370f..7743e176a 100644 --- a/youtube_dl/downloader/hls.py +++ b/youtube_dl/downloader/hls.py @@ -12,6 +12,7 @@ from ..postprocessor.ffmpeg import FFmpegPostProcessor from ..utils import ( encodeArgument, encodeFilename, + sanitize_open, ) @@ -30,7 +31,7 @@ class HlsFD(FileDownloader): args = [ encodeArgument(opt) for opt in (ffpp.executable, '-y', '-i', url, '-f', 'mp4', '-c', 'copy', '-bsf:a', 'aac_adtstoasc')] - args.append(encodeFilename(tmpfilename, True)) + args.append(encodeFilename(ffpp._ffmpeg_filename_argument(tmpfilename), True)) self._debug_cmd(args) @@ -89,13 +90,14 @@ class NativeHlsFD(FragmentFD): success = ctx['dl'].download(frag_filename, {'url': frag_url}) if not success: return False - with open(frag_filename, 'rb') as down: - ctx['dest_stream'].write(down.read()) - frags_filenames.append(frag_filename) + down, frag_sanitized = sanitize_open(frag_filename, 'rb') + ctx['dest_stream'].write(down.read()) + down.close() + frags_filenames.append(frag_sanitized) self._finish_frag_download(ctx) for frag_file in frags_filenames: - os.remove(frag_file) + os.remove(encodeFilename(frag_file)) return True