gstvideosink

gstvideosink — Base class for video sinks

Synopsis


#include <gst/video/gstvideosink.h>


                    GstVideoSink;
                    GstVideoSinkClass;
                    GstVideoRectangle;
#define             GST_VIDEO_SINK_HEIGHT               (obj)
#define             GST_VIDEO_SINK_PAD                  (obj)
#define             GST_VIDEO_SINK_WIDTH                (obj)
void                gst_video_sink_center_rect          (GstVideoRectangle src,
                                                         GstVideoRectangle dst,
                                                         GstVideoRectangle *result,
                                                         gboolean scaling);

Object Hierarchy


  GObject
   +----GstObject
         +----GstElement
               +----GstBaseSink
                     +----GstVideoSink

Description

Provides useful functions and a base class for video sinks.

GstVideoSink will configure the default base sink to drop frames that arrive later than 20ms as this is considered the default threshold for observing out-of-sync frames.

Details

GstVideoSink

typedef struct _GstVideoSink GstVideoSink;


GstVideoSinkClass

typedef struct {
  GstBaseSinkClass parent_class;
      
  gpointer _gst_reserved[GST_PADDING];
} GstVideoSinkClass;


GstVideoRectangle

typedef struct {
  gint x;
  gint y;
  gint w;
  gint h;
} GstVideoRectangle;

Helper structure representing a rectangular area.

gint x; X coordinate of rectangle's top-left point
gint y; Y coordinate of rectangle's top-left point
gint w; width of the rectangle
gint h; height of the rectangle

GST_VIDEO_SINK_HEIGHT()

#define GST_VIDEO_SINK_HEIGHT(obj) (GST_VIDEO_SINK_CAST (obj)->height)

obj :

GST_VIDEO_SINK_PAD()

#define GST_VIDEO_SINK_PAD(obj) GST_BASE_SINK_PAD(obj)

Get the sink GstPad of obj.

obj : a GstVideoSink

GST_VIDEO_SINK_WIDTH()

#define GST_VIDEO_SINK_WIDTH(obj) (GST_VIDEO_SINK_CAST (obj)->width)

obj :

gst_video_sink_center_rect ()

void                gst_video_sink_center_rect          (GstVideoRectangle src,
                                                         GstVideoRectangle dst,
                                                         GstVideoRectangle *result,
                                                         gboolean scaling);

Takes src rectangle and position it at the center of dst rectangle with or without scaling. It handles clipping if the src rectangle is bigger than the dst one and scaling is set to FALSE.

src : the GstVideoRectangle describing the source area
dst : the GstVideoRectangle describing the destination area
result : a pointer to a GstVideoRectangle which will receive the result area
scaling : a gboolean indicating if scaling should be applied or not