I'm reading the plugin developer guide, chapter 4, and reading some
sample plugins, in this case gstgamma.c.
In chapter 4, it says:
"In the element |_init ()| function, you create the pad from the pad
template that has been registered with the element class in the
|_base_init ()| function. After creating the pad, you have to set a
|_setcaps ()| function pointer and optionally a |_getcaps ()| function
pointer. Also, you have to set a |_chain ()| function pointer.
Alternatively, pads can also operate in looping mode, which means that
they can pull data themselves. More on this topic later. After that, you
have to register the pad with the element. This happens like this:"
gstgamma sets a set_caps, transform_ip and before_transform functions,
but does not set a chain function.
In my code that I started from boilerplate, set_caps is not set
anywhere, but the plugin installs, and the trivial case displays video.
As I progress, I'm finding some functionality that I assume doesn't work
because I need to initialize the capability. For example, calling
gst_video_format_get_component_width() complains because it says the
format doesn't match.
I suppose I'm asking if these functions get added by default, and
second, should I take the writers guide as truth, or more of a suggestion?
Get latest updates about Open Source Projects, Conferences and News.