<plugin>
  <name>videotestsrc</name>
  <description>Creates a test video stream</description>
  <filename>../../gst/videotestsrc/.libs/libgstvideotestsrc.so</filename>
  <basename>libgstvideotestsrc.so</basename>
  <version>1.13.91</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, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], multiview-mode=(string){ mono, left, right }; video/x-bayer, format=(string){ bggr, rggb, grbg, gbrg }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], multiview-mode=(string){ mono, left, right }</details>
        </caps>
      </pads>
    </element>
  </elements>
</plugin>