<plugin>
  <name>qmlgl</name>
  <description>Qt gl plugin</description>
  <filename>../../ext/qt/.libs/libgstqmlgl.so</filename>
  <basename>libgstqmlgl.so</basename>
  <version>1.13.91</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>qmlglsink</name>
      <longname>Qt Video Sink</longname>
      <class>Sink/Video</class>
      <description>A video sink that renders to a QQuickItem</description>
      <author>Matthew Waters &lt;matthew@centricular.com&gt;</author>
      <pads>
        <caps>
          <name>sink</name>
          <direction>sink</direction>
          <presence>always</presence>
          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
        </caps>
      </pads>
    </element>
    <element>
      <name>qmlglsrc</name>
      <longname>Qt Video Source</longname>
      <class>Source/Video</class>
      <description>A video src that captures a window from a QML view</description>
      <author>Multimedia Team &lt;shmmmw@freescale.com&gt;</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>