<plugin>
  <name>app</name>
  <description>Elements used to communicate with applications</description>
  <filename>../../gst/app/.libs/libgstapp.so</filename>
  <basename>libgstapp.so</basename>
  <version>1.5.2</version>
  <license>LGPL</license>
  <source>gst-plugins-base</source>
  <package>GStreamer Base Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>appsink</name>
      <longname>AppSink</longname>
      <class>Generic/Sink</class>
      <description>Allow the application to get access to raw buffer</description>
      <author>David Schleef &lt;ds@schleef.org&gt;, Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>ANY</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>appsrc</name>
      <longname>AppSrc</longname>
      <class>Generic/Source</class>
      <description>Allow the application to feed buffers to a pipeline</description>
      <author>David Schleef &lt;ds@schleef.org&gt;, Wim Taymans &lt;wim.taymans@gmail.com&gt;</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>ANY</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>