[downloader/hls] Ask ffmpeg to quit when interrupting youtube-dl with 'Ctrl+C' (#8252)
Otherwise the mp4 file can't be played.
This commit is contained in:
		| @@ -46,7 +46,16 @@ class HlsFD(FileDownloader): | ||||
|  | ||||
|         self._debug_cmd(args) | ||||
|  | ||||
|         retval = subprocess.call(args, stdin=subprocess.PIPE) | ||||
|         proc = subprocess.Popen(args, stdin=subprocess.PIPE) | ||||
|         try: | ||||
|             retval = proc.wait() | ||||
|         except KeyboardInterrupt: | ||||
|             # 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 | ||||
|             # produces a file that is playable (this is mostly useful for live | ||||
|             # streams) | ||||
|             proc.communicate(b'q') | ||||
|             raise | ||||
|         if retval == 0: | ||||
|             fsize = os.path.getsize(encodeFilename(tmpfilename)) | ||||
|             self.to_screen('\r[%s] %s bytes' % (args[0], fsize)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jaime Marquínez Ferrándiz
					Jaime Marquínez Ferrándiz