#!/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, 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):
-
+
# Create gui bits and bobs
self.wTree = Gtk.Builder()
self.wTree.add_from_file("example2.glade")
-
+
signals = {
"on_play_clicked" : self.OnPlay,
"on_stop_clicked" : self.OnStop,
# Initiate the pipeline
Gst.init(None)
- self.pipeline = Gst.Pipeline("mypipeline")
+ self.pipeline = Gst.Pipeline()
# Add an audiotestsrc element to the pipeline
self.audiotestsrc = Gst.ElementFactory.make("audiotestsrc", "audio")
- self.audiotestsrc.set_property("freq", 200)
+ self.audiotestsrc.set_property("freq", 800)
self.pipeline.add(self.audiotestsrc)
# Add a pulsesink element to the pipeline
def OnPlay(self, widget):
- print "play"
+ print("play")
self.pipeline.set_state(Gst.State.PLAYING)
def OnStop(self, widget):
- print "stop"
+ print("stop")
self.pipeline.set_state(Gst.State.READY)
-
+
def OnQuit(self, widget):
- print "quit"
+ print("quit")
Gtk.main_quit()
# Workaround to get Ctrl+C to terminate from command line