Diff of /trunk/tubetutor/ffmpeg.py [r11] .. [r12]  Maximize  Restore

Switch to side-by-side view

--- a/trunk/tubetutor/ffmpeg.py
+++ b/trunk/tubetutor/ffmpeg.py
@@ -78,7 +78,7 @@
     if platform.system() == "Linux":
         proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True, preexec_fn=os.setsid)
     else:
-        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)
+        proc_ffmpeg = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=False)
 
 def record(filename, resolution=""):
     if resolution != "":
@@ -90,17 +90,16 @@
     global proc_ffmpeg
     # Kill remaining ffmpeg instances
     if proc_ffmpeg:
-        try:
+        if platform.system() != "Linux":
             ctypes.windll.kernel32.TerminateProcess(int(proc_ffmpeg._handle), -1)
-        finally:
-	        pass
-        proc_ffmpeg.kill()
-        if hasattr(os, "killpg"):
-            os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGTERM)
-            os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGKILL)
-        if hasattr(os, "kill"):
-            os.kill(proc_ffmpeg.pid, signal.CTRL_C_EVENT)
-        
+            proc_ffmpeg.kill()
+        else:
+            proc_ffmpeg.kill()
+            if hasattr(os, "killpg"):
+                os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGTERM)
+                os.killpg(os.getpgid(proc_ffmpeg.pid), signal.SIGKILL)
+            if hasattr(os, "kill"):
+                os.kill(proc_ffmpeg.pid, signal.CTRL_C_EVENT)
         proc_ffmpeg=None
         
 def video_duration(filename):