How can I send each xvimagesink into a separate DrawingArea?

Giacomo D omagico.olo at gmail.com
Sun Sep 13 07:40:59 PDT 2015


Hi everyone.
I want to know if it is possible to have multiple sources that can be shown
altogether using videomixer on "xvimagesink" and then have the possibility
to show each one separately in another "xvimagesink_n". 

  src1  --> tee1 -->  videomixer --> xvimagesink
               tee1 --> xvimagesink1           
  src2  --> tee2 --> videomixer  -- > xvimagesink
               tee2 --> xvimagesink2


So I create a "DrawingArea":

        window = Gtk.Window(Gtk.WindowType.TOPLEVEL)
        window.set_title("LYS - Broadcaster")
        window.set_default_size(500, 400)
        window.connect("destroy", Gtk.main_quit, "WM destroy")

        vbox = Gtk.VBox()
        window.add(vbox)
        self.movie_window1 = Gtk.DrawingArea()
        vbox.add(self.movie_window1)
                          
Using the method below, I get a flickering stream with all three videos in
the same window. How can I send each xvimagesink into a separate
DrawingArea?

    def on_sync_message1(self, bus, message):
        if message.get_structure().get_name() == 'prepare-window-handle':
            imagesink = message.src
            imagesink.set_property("force-aspect-ratio", True)
            Gdk.threads_enter()
           
imagesink.set_window_handle(self.movie_window1.get_property('window').get_xid())
            Gdk.threads_leave()


Thanks,
Giacomo





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/How-can-I-send-each-xvimagesink-into-a-separate-DrawingArea-tp4673597.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list