<plugin>
  <name>mpegtsmux</name>
  <description>MPEG-TS muxer</description>
  <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
  <basename>libgstmpegtsmux.so</basename>
  <version>1.9.1</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 }; 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</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>