Specifying Pads (Ch4)

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Specifying Pads (Ch4)

Brian Michalk
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?

    

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel