[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: GStreamer xwidget
From: |
Po Lu |
Subject: |
Re: GStreamer xwidget |
Date: |
Mon, 29 Nov 2021 11:12:50 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) |
Richard Stallman <rms@gnu.org> writes:
> [[[ To any NSA and FBI agents reading my email: please consider ]]]
> [[[ whether defending the US Constitution against all enemies, ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> > + return (gst_registry_find_feature (registry, "xvimagesink",
> > + GST_TYPE_ELEMENT_FACTORY)
> > + && gst_registry_find_feature (registry, "queue",
> > + GST_TYPE_ELEMENT_FACTORY)
> > + && gst_registry_find_feature (registry, "videotestsrc",
> > + GST_TYPE_ELEMENT_FACTORY)
> > + && gst_registry_find_feature (registry, "fakesink",
> > + GST_TYPE_ELEMENT_FACTORY)
> > + && gst_registry_find_feature (registry, "tee",
> > + GST_TYPE_ELEMENT_FACTORY));
>
> This takes me one step forward. But you haven't explained what
> this code does, and I can't recognize the meaning of anything.
> What does gst_type_element_factory do? It looks up something
> in a registry, right? What does a registry mean?
Essentially, it searches for a plugin (an element factory) by a name in
the plugin registry, which is the data structure that tells GStreamer
how to look for plugins.
> What is the meaning of the "xvimagesink" feature?
> What is the meaning of the "queue" feature?
See below.
> And so on?
>
> Can you tell me an example that explains what this is doing and why?
> Are you saying that "xvimagesink", "queue", "videotestsrc", "fakesink"
> and "tee" are the names of plug-ins?
>
> If so, can you describe what each one does?
videotestsrc provides a test pattern. xvimagesink displays the media to
an X window (solely an implementation detail, the window created is
internal to Emacs), fakesink is a plugin used to keep the data flow up
even if no Emacs window is currently displaying the xwidget, "tee"
allows a single video stream to display in multiple windows, and "queue"
provides an in-memory buffer that works in cooperation with a tee to
allow that kind of display.
> For instance, if the user specifies the URL of an mp4 file, which
> of those plug-ins will Emacs tell GStreamer to load?
That feature is not implemented yet, and it will probably not be, as the
H.265 decoder is either ugly or bad (precisely which I don't remember).
> Are you saying that those five plug-ins are the only five plug-ins
> that Emacs will ever tell GStreamer to load?
Yes, in the future I will add other free plugins once I implement the
feature that allows it to load common free formats.
Thanks.
- Re: GStreamer xwidget, (continued)
- Re: GStreamer xwidget, Po Lu, 2021/11/27
- Re: GStreamer xwidget, Yuri Khan, 2021/11/28
- Re: GStreamer xwidget, Po Lu, 2021/11/28
- Re: GStreamer xwidget, Richard Stallman, 2021/11/28
- Re: GStreamer xwidget, Yuri Khan, 2021/11/29
- Re: GStreamer xwidget, Po Lu, 2021/11/29
- Re: GStreamer xwidget, Richard Stallman, 2021/11/29
- Re: GStreamer xwidget, Po Lu, 2021/11/29
- Re: GStreamer xwidget, Richard Stallman, 2021/11/29
- Re: GStreamer xwidget, Richard Stallman, 2021/11/28
- Re: GStreamer xwidget,
Po Lu <=
- Re: GStreamer xwidget, Richard Stallman, 2021/11/29
- Re: GStreamer xwidget, Po Lu, 2021/11/29
- Re: GStreamer xwidget, Lars Ingebrigtsen, 2021/11/21
- Re: GStreamer xwidget, Arthur Miller, 2021/11/21
- Re: GStreamer xwidget, Richard Stallman, 2021/11/23
- Re: GStreamer xwidget, Richard Stallman, 2021/11/21