<plugin>
  <name>accurip</name>
  <description>Computes an AccurateRip CRC</description>
  <filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
  <basename>libgstaccurip.so</basename>
  <version>1.13.90</version>
  <license>LGPL</license>
  <source>gst-plugins-bad</source>
  <package>GStreamer Bad Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>accurip</name>
      <longname>AccurateRip(TM) CRC element</longname>
      <class>Filter/Analyzer/Audio</class>
      <description>Computes an AccurateRip CRC</description>
      <author>Christophe Fergeau &lt;teuf@gnome.org&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>audio/x-raw, format=(string)S16LE, rate=(int)44100, channels=(int)2</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>audio/x-raw, format=(string)S16LE, rate=(int)44100, channels=(int)2</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>