<plugin>
  <name>mpegtsmux</name>
  <description>MPEG-TS muxer</description>
  <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
  <basename>libgstmpegtsmux.so</basename>
  <version>1.4.5</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>mpegtsmux</name>
      <longname>MPEG Transport Stream Muxer</longname>
      <class>Codec/Muxer</class>
      <description>Multiplexes media streams into an MPEG Transport Stream</description>
      <author>Fluendo &lt;contact@fluendo.com&gt;</author>
      <pads>
        <caps>
          <name>sink_%d</name>
          <direction>sink</direction>
          <presence>request</presence>
          <details>video/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2, 4 }, systemstream=(boolean)false; video/x-dirac; video/x-h264, stream-format=(string)byte-stream, alignment=(string){ au, nal }; audio/mpeg, parsed=(boolean)true, mpegversion=(int){ 1, 2 }; audio/mpeg, framed=(boolean)true, mpegversion=(int)4, stream-format=(string){ raw, adts }; audio/x-lpcm, width=(int){ 16, 20, 24 }, rate=(int){ 48000, 96000 }, channels=(int)[ 1, 8 ], dynamic_range=(int)[ 0, 255 ], emphasis=(boolean){ false, true }, mute=(boolean){ false, true }; audio/x-ac3, framed=(boolean)true; audio/x-dts, framed=(boolean)true; subpicture/x-dvb; application/x-teletext</details>
        </caps>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/mpegts, systemstream=(boolean)true, packetsize=(int){ 188, 192 }</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>