<plugin>
  <name>mpegtsmux</name>
  <description>MPEG-TS muxer</description>
  <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
  <basename>libgstmpegtsmux.so</basename>
  <version>1.13.91</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; image/x-jpc; video/x-h264, stream-format=(string)byte-stream, alignment=(string){ au, nal }; video/x-h265, 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)adts; audio/mpeg, mpegversion=(int)4, stream-format=(string)raw; 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; audio/x-opus, channels=(int)[ 1, 8 ], channel-mapping-family=(int){ 0, 1 }; subpicture/x-dvb; application/x-teletext; meta/x-klv, parsed=(boolean)true; image/x-jpc, profile=(int)[ 0, 49151 ]</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>