emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GStreamer xwidget


From: Po Lu
Subject: Re: GStreamer xwidget
Date: Wed, 24 Nov 2021 08:32:27 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux)

Richard Stallman <rms@gnu.org> writes:

> This is incomplete -- I can't make sense of it.  It talks about things
> I never heard of: "elements" and "element factories".

"Elements" are the basic kind of data structure provided by plugins.
They can be linked to other elements, and perform actions on data
streams (such as decoding them into video or displaying the video
on-screen.)

Element factories search for elements by a given name inside plugins,
load plugins that contain said element, and use them to create the
element.

> What does it mean for the plug-in to "provide" an "element"?

It means the code in the element that processes data streams is provided
by the plugin (a shared library).

> Is the argument "factoryname" the place where one specifies which format is
> to be used?

Yes, as data formats are implemented as codec elements.

> You wrote doublequotes around that name.  What do those doublequotes mean?
> Do they mean that the argument is supposed to have a C string as value?

Yes.

> What data type is that argument?  Is it a C string?  Please show me a few
> examples of real, valid, possible values for that argument.

It is a C string.

> What argument value would specify MPEG4?

That would be "mp4mux".

> What argument value would specify Webm?

"webmmux".

> How does the program control which set of plug-ins are permitted?

As GStreamer doesn't load plugins by yourself, you do so by making sure
to only pass good plugin names to the element factory.

> For instance, suppose the program wants to use only the "good" plug-ins.
> What C code does it use to specify this?

As long as you don't explictly load bad plugins, you will be constrained
to the good plug-ins.

Thanks.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]