QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
gstqgcvideosinkbin.cc File Reference
#include "gstqgcvideosinkbin.h"
#include "gstqgcelements.h"
#include <array>
#include <initializer_list>
#include <string>
#include "GstQgcAllocation.h"
#include "GstQgcCaps.h"
+ Include dependency graph for gstqgcvideosinkbin.cc:

Go to the source code of this file.

Macros

#define GST_CAT_DEFAULT   gst_qgc_debug
 
#define gst_qgc_video_sink_bin_parent_class   parent_class
 

Enumerations

enum  {
  PROP_0 , PROP_GPU_ZEROCOPY , PROP_CONVERSION_ELEMENT , PROP_DISABLE_PAR ,
  PROP_SYNC , PROP_QOS , PROP_PROCESSING_DEADLINE , PROP_LAST
}
 

Functions

 G_DEFINE_FINAL_TYPE (GstQgcVideoSinkBin, gst_qgc_video_sink_bin, GST_TYPE_BIN)
 
 GST_ELEMENT_REGISTER_DEFINE_WITH_CODE (qgcvideosinkbin, "qgcvideosinkbin", GST_RANK_NONE, GST_TYPE_QGC_VIDEO_SINK_BIN, qgc_element_init(plugin))
 
static void gst_qgc_video_sink_bin_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
 
static void gst_qgc_video_sink_bin_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
 
static void gst_qgc_video_sink_bin_constructed (GObject *object)
 
static void gst_qgc_video_sink_bin_dispose (GObject *object)
 
static GstStateChangeReturn gst_qgc_video_sink_bin_change_state (GstElement *element, GstStateChange transition)
 
static void gst_qgc_video_sink_bin_class_init (GstQgcVideoSinkBinClass *klass)
 
static void gst_qgc_video_sink_bin_init (GstQgcVideoSinkBin *self)
 
static GstElementgst_qgc_video_sink_bin_make_conversion_element (GstQgcVideoSinkBin *self)
 
static gboolean wireGpuPath (GstQgcVideoSinkBin *self, GstElement *videosink, GstElement *capsf)
 
static gboolean wireCpuPath (GstQgcVideoSinkBin *self, GstElement *videosink, GstElement *capsf)
 
static void gst_qgc_video_sink_bin_setup (GstQgcVideoSinkBin *self)
 
GstElementgst_qgc_video_sink_bin_get_qvideosink (GstQgcVideoSinkBin *self)
 Returns the internal qgcqvideosink element, transfer-full (caller unrefs); NULL if not yet constructed.
 
gboolean gst_qgc_video_sink_bin_get_gpu_zerocopy (GstElement *bin)
 Whether the bin built its GPU zero-copy pipeline (mirrors "gpu-zerocopy"); NULL-safe (FALSE).
 

Variables

static GParamSpec * properties [PROP_LAST]
 
static GstStaticPadTemplate sink_factory
 

Macro Definition Documentation

◆ GST_CAT_DEFAULT

#define GST_CAT_DEFAULT   gst_qgc_debug

Definition at line 12 of file gstqgcvideosinkbin.cc.

◆ gst_qgc_video_sink_bin_parent_class

#define gst_qgc_video_sink_bin_parent_class   parent_class

Definition at line 157 of file gstqgcvideosinkbin.cc.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PROP_0 
PROP_GPU_ZEROCOPY 
PROP_CONVERSION_ELEMENT 
PROP_DISABLE_PAR 
PROP_SYNC 
PROP_QOS 
PROP_PROCESSING_DEADLINE 
PROP_LAST 

Definition at line 14 of file gstqgcvideosinkbin.cc.

Function Documentation

◆ G_DEFINE_FINAL_TYPE()

G_DEFINE_FINAL_TYPE ( GstQgcVideoSinkBin  ,
gst_qgc_video_sink_bin  ,
GST_TYPE_BIN   
)

◆ GST_ELEMENT_REGISTER_DEFINE_WITH_CODE()

GST_ELEMENT_REGISTER_DEFINE_WITH_CODE ( qgcvideosinkbin  ,
"qgcvideosinkbin"  ,
GST_RANK_NONE  ,
GST_TYPE_QGC_VIDEO_SINK_BIN  ,
qgc_element_init(plugin)   
)

◆ gst_qgc_video_sink_bin_change_state()

static GstStateChangeReturn gst_qgc_video_sink_bin_change_state ( GstElement element,
GstStateChange  transition 
)
static

◆ gst_qgc_video_sink_bin_class_init()

◆ gst_qgc_video_sink_bin_constructed()

static void gst_qgc_video_sink_bin_constructed ( GObject *  object)
static

◆ gst_qgc_video_sink_bin_dispose()

static void gst_qgc_video_sink_bin_dispose ( GObject *  object)
static

◆ gst_qgc_video_sink_bin_get_gpu_zerocopy()

gboolean gst_qgc_video_sink_bin_get_gpu_zerocopy ( GstElement bin)

Whether the bin built its GPU zero-copy pipeline (mirrors "gpu-zerocopy"); NULL-safe (FALSE).

Definition at line 563 of file gstqgcvideosinkbin.cc.

Referenced by GStreamer::setupQVideoSinkElement().

◆ gst_qgc_video_sink_bin_get_property()

static void gst_qgc_video_sink_bin_get_property ( GObject *  object,
guint  prop_id,
GValue *  value,
GParamSpec *  pspec 
)
static

◆ gst_qgc_video_sink_bin_get_qvideosink()

GstElement * gst_qgc_video_sink_bin_get_qvideosink ( GstQgcVideoSinkBin *  self)

Returns the internal qgcqvideosink element, transfer-full (caller unrefs); NULL if not yet constructed.

Definition at line 557 of file gstqgcvideosinkbin.cc.

Referenced by GStreamer::setupQVideoSinkElement().

◆ gst_qgc_video_sink_bin_init()

static void gst_qgc_video_sink_bin_init ( GstQgcVideoSinkBin *  self)
static

Definition at line 218 of file gstqgcvideosinkbin.cc.

◆ gst_qgc_video_sink_bin_make_conversion_element()

static GstElement * gst_qgc_video_sink_bin_make_conversion_element ( GstQgcVideoSinkBin *  self)
static

Definition at line 234 of file gstqgcvideosinkbin.cc.

Referenced by wireCpuPath().

◆ gst_qgc_video_sink_bin_set_property()

static void gst_qgc_video_sink_bin_set_property ( GObject *  object,
guint  prop_id,
const GValue *  value,
GParamSpec *  pspec 
)
static

◆ gst_qgc_video_sink_bin_setup()

static void gst_qgc_video_sink_bin_setup ( GstQgcVideoSinkBin *  self)
static

◆ wireCpuPath()

static gboolean wireCpuPath ( GstQgcVideoSinkBin *  self,
GstElement videosink,
GstElement capsf 
)
static

◆ wireGpuPath()

static gboolean wireGpuPath ( GstQgcVideoSinkBin *  self,
GstElement videosink,
GstElement capsf 
)
static

Definition at line 256 of file gstqgcvideosinkbin.cc.

References GstQgc::buildGpuCapsString().

Referenced by gst_qgc_video_sink_bin_setup().

Variable Documentation

◆ properties

GParamSpec* properties[PROP_LAST]
static

Definition at line 26 of file gstqgcvideosinkbin.cc.

Referenced by gst_qgc_video_sink_bin_class_init().

◆ sink_factory

GstStaticPadTemplate sink_factory
static
Initial value:
=
GST_STATIC_PAD_TEMPLATE("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS("video/x-raw(ANY)"))

Definition at line 30 of file gstqgcvideosinkbin.cc.

Referenced by gst_qgc_video_sink_bin_class_init().