Using gst-python with multiple pipelines

Tim-Philipp Müller t.i.m at
Thu Mar 22 03:20:44 PDT 2012


> Not sure I understand the question.  I'm adapting some code I found
> on the web which uses gst pipelines + wxPython (which was adapted from
> the wxGTK version).
> I create the pipeline like this
>          self.player = gst.element_factory_make("playbin", "player")
>          self.playing = False
>          bus = self.player.get_bus()
>          bus.add_signal_watch()
>          bus.enable_sync_message_emission()
>          bus.connect('message', self.on_message, colour)
>          bus.connect('sync-message::element', self.on_sync_message, colour)
> within the code that creates the pane.  Then I initiate the pipeline with
>          self.player.set_property('uri',"file://" + path)
>          self.player.set_state(gst.STATE_PLAYING)
>          self.playing = True
> I'm happy to share my actual code if that helps - it's currently just
> a sandbox for ideas anyway.

Yes, a small example that demonstrates the issue would definitely be

What I was trying to find out was if you are using (for example)
ximagesink, or perhaps some other video sink or perhaps appsinks.

X11/Gtk doesn't do multi-threading well, so one must take care not to do
anything X11/Gtk related from GStreamer streaming threads (like a sync
message handler).


More information about the gstreamer-devel mailing list