[downloader/hls] Do not send 'q' to ffmpeg on Windows (Closes #8300)

This commit is contained in:
Sergey M․ 2016-02-06 23:24:22 +06:00
parent 860db2d508
commit 56401e1e5f

View File

@ -3,6 +3,7 @@ from __future__ import unicode_literals
import os import os
import re import re
import subprocess import subprocess
import sys
from .common import FileDownloader from .common import FileDownloader
from .fragment import FragmentFD from .fragment import FragmentFD
@ -57,8 +58,10 @@ class HlsFD(FileDownloader):
# subprocces.run would send the SIGKILL signal to ffmpeg and the # subprocces.run would send the SIGKILL signal to ffmpeg and the
# mp4 file couldn't be played, but if we ask ffmpeg to quit it # mp4 file couldn't be played, but if we ask ffmpeg to quit it
# produces a file that is playable (this is mostly useful for live # produces a file that is playable (this is mostly useful for live
# streams) # streams). Note that Windows is not affected and produces playable
proc.communicate(b'q') # files (see https://github.com/rg3/youtube-dl/issues/8300).
if sys.platform != 'win32':
proc.communicate(b'q')
raise raise
if retval == 0: if retval == 0:
fsize = os.path.getsize(encodeFilename(tmpfilename)) fsize = os.path.getsize(encodeFilename(tmpfilename))