<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    I'm reading the plugin developer guide, chapter 4, and reading some
    sample plugins, in this case gstgamma.c.<br>
    <br>
    In chapter 4, it says:<br>
    "In the element <code class="function">_init ()</code> function,
    you create the pad from the pad template that has been registered
    with the element class in the <code class="function">_base_init ()</code>
    function. After creating the pad, you have to set a <code
      class="function">_setcaps ()</code> function pointer and
    optionally a <code class="function">_getcaps ()</code> function
    pointer. Also, you have to set a <code class="function">_chain ()</code>
    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:"<br>
    <br>
    gstgamma sets a set_caps, transform_ip and before_transform
    functions, but does not set a chain function.<br>
    In my code that I started from boilerplate, set_caps is not set
    anywhere, but the plugin installs, and the trivial case displays
    video.&nbsp; As I progress, I'm finding some functionality that I assume
    doesn't work because I need to initialize the capability.&nbsp; For
    example, calling gst_video_format_get_component_width() complains
    because it says the format doesn't match.<br>
    <br>
    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?<br>
    <pre class="programlisting">
</pre>
    <br>
  </body>
</html>