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;
};