Playing a video in a GTK window example

pisymbol . pisymbol at gmail.com
Wed Jun 12 14:52:21 UTC 2019


On Wed, Jun 12, 2019 at 10:22 AM Nicolas Dufresne <nicolas at ndufresne.ca>
wrote:

> Le mercredi 12 juin 2019 à 09:42 -0400, pisymbol . a écrit :
> >
> >
> > On Wed, Jun 12, 2019 at 9:20 AM pisymbol . <pisymbol at gmail.com> wrote:
> > >
> > > On Tue, Jun 11, 2019 at 11:19 PM Guillaume Desmottes <
> guillaume.desmottes at collabora.com> wrote:
> > > > Hi there,
> > > > The gtksink and gtkglsink in
> https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/tree/master/tests/examples/gtk
> > > > should be helpful to you.
> > > >
> > >
> > > Great! I know them. Now an example that uses them? :-)
> > >
> > >
> >
> > Full disclosure: I have now gotten it to work from a tip by Mattias. My
> point though is that in order to link videoconvert to gtksink you need to
> expose videoconverts src as a ghost pad which is no where to be found in
> the documentation.
> >
> > What worked for me (the missing link - literally):
> >
> > ghostpad = Gst.Ghostpad.new("sink",
> videoconveter_element.get_static_pad('src'))
> > bin.add_pad(ghotspad)
> >
> > And then I was able to link in gtksink and pack it using
> gtksink.props.widget. This stuff needs to be documented since the
> overwhelming majorities that turn up on Google simply do not work with the
> current API.
>
> Ghosting is not specific to using gtksink. If you use custom bins with
> pads, you have to learn how to ghost the pads.
>

Totally agreed. But how would you use videoconvert to gtksink in PyGst?

Here's the thing:

gst-launch-1.0 filesrc location="blah" ! videoconvert ! gtksink

Just works. But if you use the parse_bin_from_description() API you then
have to ghost pad out videoconvert to gtksink to make it actually display
something. I understand why now but there are like ZERO examples of this
idiom anywhere I could find by simply Googling. Mattias was kind of enough
to suggest this and ti worked.

The bottom line is most of the examples out there are just flat out wrong.
Shouldn't the official gstreamer doc be a bit more comprehensive in this
regard? At leaat on the Python side? I'm just asking. I'm not excusing any
one of being lazy. Though maybe I didn't read the doc thoroughly enough and
I do apologize in advance if that is the case.

-aps
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190612/e34d97f5/attachment-0001.html>


More information about the gstreamer-devel mailing list