From 2c63b053769ecdc2791af3b35392f0ff0b19ad76 Mon Sep 17 00:00:00 2001 From: tassaron Date: Sat, 17 Jun 2017 19:08:18 -0400 Subject: exports to ~ if no dir given, fix infinite loop when cancelling --- video_thread.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'video_thread.py') diff --git a/video_thread.py b/video_thread.py index fc877bd..d7220f1 100644 --- a/video_thread.py +++ b/video_thread.py @@ -116,6 +116,7 @@ class Worker(QtCore.QObject): for cont in options['containers']: if cont['name'] == containerName: container = cont['container'] + break vencoders = options['video-codecs'][vcodec] aencoders = options['audio-codecs'][acodec] @@ -222,13 +223,15 @@ class Worker(QtCore.QObject): if not self.canceled: for i in range(0, len(self.completeAudioArray), self.sampleSize): while True: - if i in frameBuffer: + if i in frameBuffer or self.canceled: # if frame's in buffer, pipe it to ffmpeg break # else fetch the next frame & add to the buffer data = self.renderQueue.get() frameBuffer[data[0]] = data[1] self.renderQueue.task_done() + if self.canceled: + break try: self.out_pipe.stdin.write(frameBuffer[i].tobytes()) -- cgit v1.2.3