## eglglessink eglglessink — An EGL/GLES Video Output Sink Implementing the VideoOverlay interface |

## Synopsis

    struct              GstEglGlesSink;

## Description

## Synopsis

### Element Information

plugin | eglglessink
author | Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>, Sebastian Dröge <sebastian.droege@collabora.co.uk>
class | Sink/Video

### Element Pads

name | sink
direction | sink
presence | always
details | video/x-raw, format=(string){ RGBA, BGRA, ARGB, ABGR, RGBx, BGRx, xRGB, xBGR, AYUV, Y444, I420, YV12, NV12, NV21, YUY2, YVYU, UYVY, Y42B, Y41B, RGB, BGR, RGB16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]

## Details

### struct GstEglGlesSink

    struct GstEglGlesSink {
      GstVideoSink videosink;       /* Element hook */
      int par_n, par_d;             /* Aspect ratio from caps */

      GstVideoFormat format;
      GstVideoRectangle display_region;
      GstCaps *sinkcaps;
      GstCaps *current_caps, *configured_caps;

      GstEglGlesImageFmt *selected_fmt;
      GstEglGlesRenderContext eglglesctx;

      GList *supported_fmts;

      /* Runtime flags */
      gboolean have_window;
      gboolean using_own_window;
      gboolean have_surface;;
      gboolean have_vbo;
      gboolean have_texture;
      gboolean egl_started;

      GThread *thread;
      gboolean thread_running;
      GstDataQueue *queue;
      GCond *render_cond;
      GMutex *render_lock;
      GstFlowReturn last_flow;

      /* Properties */
      gboolean create_window;
      gboolean force_aspect_ratio;
    };