gstvideosink

gstvideosink — Base class for video sinks

Functions

Properties

gboolean show-preroll-frame Read / Write / Construct

Types and Values

Object Hierarchy

    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBaseSink
                    ╰── GstVideoSink

Includes

#include <gst/video/gstvideosink.h>

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.

Functions

GST_VIDEO_SINK_HEIGHT()

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

GST_VIDEO_SINK_PAD()

#define GST_VIDEO_SINK_PAD(obj) GST_BASE_SINK_PAD(obj)

Get the sink GstPad of obj .

Parameters

obj

a GstVideoSink

 

GST_VIDEO_SINK_WIDTH()

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

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.

Parameters

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

 

Types and Values

struct GstVideoSink

struct GstVideoSink {
  gint width, height;
};

The video sink instance structure. Derived video sinks should set the height and width members.

Members

gint width;

video width (derived class needs to set this)

 

gint height;

video height (derived class needs to set this)

 

struct GstVideoSinkClass

struct GstVideoSinkClass {
  GstBaseSinkClass parent_class;

  GstFlowReturn  (*show_frame) (GstVideoSink *video_sink, GstBuffer *buf);
};

The video sink class structure. Derived classes should override the show_frame virtual function.

Members

show_frame ()

render a video frame. Maps to GstBaseSinkClass.render() and GstBaseSinkClass.preroll() vfuncs. Rendering during preroll will be suppressed if the “show-preroll-frame” property is set to FALSE.

 

struct GstVideoRectangle

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

Helper structure representing a rectangular area.

Members

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

 

Property Details

The “show-preroll-frame” property

  “show-preroll-frame”       gboolean

Whether to show video frames during preroll. If set to FALSE, video frames will only be rendered in PLAYING state.

Flags: Read / Write / Construct

Default value: TRUE