|
QGroundControl
Ground Control Station for MAVLink Drones
|
#include "gstqgcqvideosink.h"#include <QtCore/QMetaObject>#include <QtCore/QPointer>#include <QtMultimedia/QVideoFrame>#include <QtMultimedia/QVideoFrameFormat>#include <QtMultimedia/QVideoSink>#include <gst/video/video-info.h>#include <gst/video/video.h>#include "GStreamerFrameMap.h"#include "GstQgcAllocation.h"#include "HwBuffers/dmabuf/GstDmaDrmCaps.h"#include "QGCLoggingCategory.h"#include "gstqgcelements.h"#include <atomic>
Include dependency graph for gstqgcqvideosink.cc:Go to the source code of this file.
Macros | |
| #define | GST_CAT_DEFAULT gst_qgc_debug |
Enumerations | |
| enum | { PROP_0 , PROP_QVIDEOSINK , PROP_ACTIVE , PROP_GPU_ZEROCOPY , PROP_FRAMES_INPUT , PROP_FRAMES_DROPPED , PROP_FRAMES_DELIVERED } |
Functions | |
| static void | gst_qgc_q_video_sink_init (GstQgcQVideoSink *self) |
| void | gst_qgc_q_video_sink_set_hw_context (GstQgcQVideoSink *self, const HwVideoBufferContext &ctx) |
| static void | gst_qgc_q_video_sink_finalize (GObject *obj) |
| static void | gst_qgc_q_video_sink_set_property (GObject *obj, guint id, const GValue *val, GParamSpec *pspec) |
| static void | gst_qgc_q_video_sink_get_property (GObject *obj, guint id, GValue *val, GParamSpec *pspec) |
| static gboolean | gst_qgc_q_video_sink_set_caps (GstBaseSink *bsink, GstCaps *caps) |
| static const char * | describeMappedPath (const MappedFrame &m) noexcept |
| static GstFlowReturn | gst_qgc_q_video_sink_show_frame (GstVideoSink *vsink, GstBuffer *buf) |
| static gboolean | gst_qgc_q_video_sink_propose_allocation (GstBaseSink *bsink, GstQuery *query) |
| static void | gst_qgc_q_video_sink_class_init (GstQgcQVideoSinkClass *klass) |
Variables | |
| static GstStaticPadTemplate | sink_template |
| constexpr quint64 | kMaxConsecutiveMapFailures = 120 |
| #define GST_CAT_DEFAULT gst_qgc_debug |
Definition at line 24 of file gstqgcqvideosink.cc.
| anonymous enum |
| Enumerator | |
|---|---|
| PROP_0 | |
| PROP_QVIDEOSINK | |
| PROP_ACTIVE | |
| PROP_GPU_ZEROCOPY | |
| PROP_FRAMES_INPUT | |
| PROP_FRAMES_DROPPED | |
| PROP_FRAMES_DELIVERED | |
Definition at line 91 of file gstqgcqvideosink.cc.
|
staticnoexcept |
Definition at line 262 of file gstqgcqvideosink.cc.
References AHardwareBuffer, D3D11, D3D12, DmaBuf, GlMemory, MappedFrame::Gpu, IOSurface, None, and Vulkan.
Referenced by gst_qgc_q_video_sink_show_frame().
|
static |
Definition at line 411 of file gstqgcqvideosink.cc.
References gst_qgc_q_video_sink_finalize(), gst_qgc_q_video_sink_get_property(), gst_qgc_q_video_sink_propose_allocation(), gst_qgc_q_video_sink_set_caps(), gst_qgc_q_video_sink_set_property(), gst_qgc_q_video_sink_show_frame(), PROP_ACTIVE, PROP_FRAMES_DELIVERED, PROP_FRAMES_DROPPED, PROP_FRAMES_INPUT, PROP_GPU_ZEROCOPY, PROP_QVIDEOSINK, and sink_template.
|
static |
Definition at line 130 of file gstqgcqvideosink.cc.
Referenced by gst_qgc_q_video_sink_class_init().
|
static |
Definition at line 166 of file gstqgcqvideosink.cc.
References PROP_ACTIVE, PROP_FRAMES_DELIVERED, PROP_FRAMES_DROPPED, PROP_FRAMES_INPUT, PROP_GPU_ZEROCOPY, and PROP_QVIDEOSINK.
Referenced by gst_qgc_q_video_sink_class_init().
|
static |
Definition at line 105 of file gstqgcqvideosink.cc.
|
static |
Definition at line 399 of file gstqgcqvideosink.cc.
References GstQgc::populateAllocationQuery().
Referenced by gst_qgc_q_video_sink_class_init().
|
static |
Definition at line 196 of file gstqgcqvideosink.cc.
References applyColorimetry(), GstHw::dmaDrmAwareVideoInfo(), and toQtPixelFormat().
Referenced by gst_qgc_q_video_sink_class_init().
| void gst_qgc_q_video_sink_set_hw_context | ( | GstQgcQVideoSink * | self, |
| const HwVideoBufferContext & | ctx | ||
| ) |
Definition at line 121 of file gstqgcqvideosink.cc.
Referenced by GStreamer::setupQVideoSinkElement().
|
static |
Definition at line 139 of file gstqgcqvideosink.cc.
References PROP_ACTIVE, PROP_GPU_ZEROCOPY, and PROP_QVIDEOSINK.
Referenced by gst_qgc_q_video_sink_class_init().
|
static |
Definition at line 290 of file gstqgcqvideosink.cc.
References applyCropMeta(), applyOrientationAndTiming(), MappedFrame::Cpu, delivered, describeMappedPath(), MappedFrame::frame, kMaxConsecutiveMapFailures, mapSampleToFrame(), None, GstHwPathTelemetry::recordDelivered(), GstHwPathTelemetry::recordStreamDemotion(), and MappedFrame::source.
Referenced by gst_qgc_q_video_sink_class_init().
|
constexpr |
Definition at line 260 of file gstqgcqvideosink.cc.
Referenced by gst_qgc_q_video_sink_show_frame().
|
static |
Pad template — sink accepts any video caps. The downstream conversion (videoconvert/glupload) already happens upstream in qgcvideosinkbin.
Definition at line 88 of file gstqgcqvideosink.cc.
Referenced by gst_qgc_q_video_sink_class_init().