From 761a0009f72d135a8f858553e46728a4274a2fb6 Mon Sep 17 00:00:00 2001
From: =?utf8?q?Einar=20J=C3=B8rgen=20Haraldseid?= <einar@haraldseid.net>
Date: Sat, 3 Jun 2017 09:27:37 +0200
Subject: [PATCH] Even more cleanups, trivial stuff

---
 example1.py   | 20 +++++++++++++++-----
 example2+3.py |  3 +--
 example2.py   | 10 +++++-----
 example3.py   |  3 +--
 4 files changed, 22 insertions(+), 14 deletions(-)

diff --git a/example1.py b/example1.py
index c3975f2..ad21708 100755
--- a/example1.py
+++ b/example1.py
@@ -1,13 +1,14 @@
 #!/usr/bin/env python
-# This is a reworked version of the example from Jono Bacon's Python+Gstreamer
-# primer: http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
+# This is a reworked version gstreamer example 1 from Jono Bacon's Python and
+# Gstreamer primer:
+# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python
 #
 # It uses Gstreamer 1.0, and replaces alsa with pulse for audio output, and
 # drops the use of the GTK main loop, since we're not bothered with a GUI
 # Info on porting python scripts to Gstreamer 1.0 can be found here:
 # https://wiki.ubuntu.com/Novacut/GStreamer1.0
 
-import gi, time
+import gi, time, signal
 gi.require_version('Gst', '1.0')
 from gi.repository import Gst
 
@@ -31,7 +32,16 @@ class Main:
     # Set the pipeline to the playing state
     self.pipeline.set_state(Gst.State.PLAYING)
 
-# Create the pipelie and enter main loop, quit with ctrl+c
-start = Main()
+  # We want a graceful shutdown on CTRL+C
+  def quit(signal, frame):
+    print("stopping")
+    exit(0)
+
+  # Trap SIGINT
+  signal.signal(signal.SIGINT, quit)
+
+# Create the pipeline and enter main loop, quit with ctrl+c
+
+Main()
 while True:
     time.sleep(0.001)
diff --git a/example2+3.py b/example2+3.py
index 9a39c4e..7775b06 100755
--- a/example2+3.py
+++ b/example2+3.py
@@ -2,12 +2,11 @@
 # Let's see if we can get a viewport AND audio working, combining ex. 2 and 3
 
 # GdkX11 to get access to xid, GstVideo to get access to set_window_handle
-import gi
+import gi, signal
 gi.require_version('Gtk', '3.0')
 gi.require_version('Gst', '1.0')
 gi.require_version('GstVideo', '1.0')
 from gi.repository import Gtk, Gst, GdkX11, GstVideo
-import signal
 
 class Main:
     def __init__(self):
diff --git a/example2.py b/example2.py
index 7edd159..9e8ff84 100755
--- a/example2.py
+++ b/example2.py
@@ -1,16 +1,16 @@
 #!/usr/bin/env python
-# This is a reworked version of the example from Jono Bacon's Python+Gstreamer primer:
-# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
-# 
+# This is a reworked version gstreamer example 2 from Jono Bacon's Python and
+# Gstreamer primer:
+# http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python
+#
 # It uses Gstreamer 1.0, GTK3, and replaces alsa with pulse for audio output
 # Info on porting python scripts to GStreamer 1.0 can be found here:
 # https://wiki.ubuntu.com/Novacut/GStreamer1.0
 
-import gi
+import gi, signal
 gi.require_version('Gtk', '3.0')
 gi.require_version('Gst', '1.0')
 from gi.repository import Gtk, Gst
-import signal
 
 class Main:
     def __init__(self):
diff --git a/example3.py b/example3.py
index 3ee0eb5..c7d7970 100755
--- a/example3.py
+++ b/example3.py
@@ -4,12 +4,11 @@
 # http://bazaar.launchpad.net/~jderose/+junk/gst-examples/view/head:/video-player-1.0
 
 # GdkX11 to get access to xid, GstVideo to get access to set_window_handle
-import gi
+import gi, signal
 gi.require_version('Gtk', '3.0')
 gi.require_version('Gst', '1.0')
 gi.require_version('GstVideo', '1.0')
 from gi.repository import Gtk, Gst, GdkX11, GstVideo
-import signal
 
 class Main:
     def __init__(self):
-- 
2.30.2