2 # This is a reworked version of the example from Jono Bacon's Python+Gstreamer
3 # primer: http://www.jonobacon.org/2006/08/28/getting-started-with-gstreamer-with-python/
5 # It uses Gstreamer 1.0, and replaces alsa with pulse for audio output, and
6 # drops the use of the GTK main loop, since we're not bothered with a GUI
7 # Info on porting python scripts to Gstreamer 1.0 can be found here:
8 # https://wiki.ubuntu.com/Novacut/GStreamer1.0
10 from gi
.repository
import Gst
15 # Initiate the pipeline
17 self
.pipeline
= Gst
.Pipeline("mypipeline")
19 # Add an audiotestsrc element to the pipeline
20 self
.audiotestsrc
= Gst
.ElementFactory
.make("audiotestsrc", "audio")
21 self
.pipeline
.add(self
.audiotestsrc
)
23 # Add a pulsesink element to the pipeline
24 self
.pulsesink
= Gst
.ElementFactory
.make("pulsesink", "sink")
25 self
.pipeline
.add(self
.pulsesink
)
27 # Link the two elements together
28 self
.audiotestsrc
.link(self
.pulsesink
)
30 # Set the pipeline to the playing state
31 self
.pipeline
.set_state(Gst
.State
.PLAYING
)
33 # Create the pipelie and enter main loop, quit with ctrl+c
35 mainloop
= gobject
.MainLoop()