<plugin>
  <name>videotestsrc</name>
  <description>Creates a test video stream</description>
  <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename>
  <basename>libgstvideotestsrc.so</basename>
  <version>1.10.3</version>
  <license>LGPL</license>
  <source>gst-plugins-base</source>
  <package>GStreamer Base Plug-ins source release</package>
  <origin>Unknown package origin</origin>
  <elements>
    <element>
      <name>videotestsrc</name>
      <longname>Video test source</longname>
      <class>Source/Video</class>
      <description>Creates a test video stream</description>
      <author>David A. Schleef &lt;ds@schleef.org&gt;</author>
      <pads>
        <caps>
          <name>src</name>
          <direction>source</direction>
          <presence>always</presence>
          <details>video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, NV12, NV21, NV16, NV61, NV24, GRAY8, GRAY16_BE, GRAY16_LE, v308, IYU2, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10LE, I420_10BE, I422_10LE, I422_10BE, Y444_10LE, Y444_10BE, GBR, GBR_10LE, GBR_10BE, NV12_64Z32, A420_10LE, A420_10BE, A422_10LE, A422_10BE, A444_10LE, A444_10BE, P010_10LE, P010_10BE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>