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
function. After creating the pad, you have to set a
_setcaps () function pointer and
_getcaps () function
pointer. Also, you have to set a
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