<plugin>
  <name>xingmux</name>
  <description>Add XING tags to mpeg audio files</description>
  <filename>../../gst/xingmux/.libs/libgstxingmux.so</filename>
  <basename>libgstxingmux.so</basename>
  <version>1.8.1</version>
  <license>LGPL</license>
  <source>gst-plugins-ugly</source>
  <package>GStreamer Ugly Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>xingmux</name>
      <longname>MP3 Xing muxer</longname>
      <class>Formatter/Muxer/Metadata</class>
      <description>Adds a Xing header to the beginning of a VBR MP3 file</description>
      <author>Christophe Fergeau &lt;teuf@gnome.org&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ]</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>