<plugin>
  <name>matroska</name>
  <description>Matroska and WebM stream handling</description>
  <filename>../../gst/matroska/.libs/libgstmatroska.so</filename>
  <basename>libgstmatroska.so</basename>
  <version>0.11.99</version>
  <license>LGPL</license>
  <source>gst-plugins-good</source>
  <package>GStreamer Good Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>matroskademux</name>
      <longname>Matroska demuxer</longname>
      <class>Codec/Demuxer</class>
      <description>Demuxes Matroska/WebM streams into video/audio/subtitles</description>
      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
        </caps>
        <caps>
          <name>audio_%u</name>
          <direction>source</direction>
          <presence>sometimes</presence>
          <details>ANY</details>
        </caps>
        <caps>
          <name>subtitle_%u</name>
          <direction>source</direction>
          <presence>sometimes</presence>
          <details>text/x-raw, format=(string)pango-markup; application/x-ssa; application/x-ass; application/x-usf; subpicture/x-dvd; subpicture/x-pgs; subtitle/x-kate; application/x-subtitle-unknown</details>
        </caps>
        <caps>
          <name>video_%u</name>
          <direction>source</direction>
          <presence>sometimes</presence>
          <details>ANY</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>matroskamux</name>
      <longname>Matroska muxer</longname>
      <class>Codec/Muxer</class>
      <description>Muxes video/audio/subtitle streams into a matroska stream</description>
      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>audio_%u</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/mpeg, mpegversion=(int){ 2, 4 }, stream-format=(string)raw, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-ac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-eac3, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-dts, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-vorbis, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-flac, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-speex, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-raw, format=(string){ U8, S16BE, S16LE, S24BE, S24LE, S32BE, S32LE, F32LE, F64LE }, layout=(string)interleaved, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-tta, width=(int){ 8, 16, 24 }, channels=(int){ 1, 2 }, rate=(int)[ 8000, 96000 ]; audio/x-pn-realaudio, raversion=(int){ 1, 2, 8 }, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-wma, wmaversion=(int)[ 1, 3 ], block_align=(int)[ 0, 65535 ], bitrate=(int)[ 0, 524288 ], channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]; audio/x-alaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]; audio/x-mulaw, channels=(int){ 1, 2 }, rate=(int)[ 8000, 192000 ]</details>
        </caps>
        <caps>
          <name>subtitle_%d</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>subtitle/x-kate; text/x-raw, format=(string)utf8; application/x-ssa; application/x-ass; application/x-usf; subpicture/x-dvd; application/x-subtitle-unknown</details>
        </caps>
        <caps>
          <name>video_%u</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>video/mpeg, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h264, stream-format=(string)avc, alignment=(string)au, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-divx, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-huffyuv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-dv, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-h263, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-msmpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; image/jpeg, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ]; video/x-theora; video/x-dirac, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-pn-realvideo, rmversion=(int)[ 1, 4 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ YUY2, I420, YV12, UYVY, AYUV }, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-wmv, wmvversion=(int)[ 1, 3 ], width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-matroska; video/x-matroska-3d; audio/x-matroska</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>matroskaparse</name>
      <longname>Matroska parser</longname>
      <class>Codec/Parser</class>
      <description>Parses Matroska/WebM streams into video/audio/subtitles</description>
      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>audio/x-matroska; video/x-matroska; video/x-matroska-3d; audio/webm; video/webm</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>webmmux</name>
      <longname>WebM muxer</longname>
      <class>Codec/Muxer</class>
      <description>Muxes video and audio streams into a WebM stream</description>
      <author>GStreamer maintainers &lt;gstreamer-devel@lists.sourceforge.net&gt;</author>
      <pads>
        <caps>
          <name>audio_%u</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>audio/x-vorbis, channels=(int)[ 1, 2147483647 ], rate=(int)[ 1, 2147483647 ]</details>
        </caps>
        <caps>
          <name>subtitle_%d</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>subtitle/x-kate; text/x-raw, format=(string)utf8; application/x-ssa; application/x-ass; application/x-usf; subpicture/x-dvd; application/x-subtitle-unknown</details>
        </caps>
        <caps>
          <name>video_%u</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>video/x-vp8, width=(int)[ 16, 4096 ], height=(int)[ 16, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/webm; audio/webm</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>