QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
GstVulkanVideoBuffer.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/qglobal.h>
4
5#if defined(QGC_HAS_GST_VULKAN_GPU_PATH)
6
7#include <QtMultimedia/QVideoFrameFormat>
8#include <gst/gst.h>
9#include <gst/video/video-info.h>
10
11#include "GstHwVideoBuffer.h"
12
13class QRhi;
14
18class GstVulkanVideoBuffer final : public GstHwVideoBuffer
19{
20public:
21 GstVulkanVideoBuffer(GstSample* sample, const GstVideoInfo& videoInfo, const QVideoFrameFormat& format);
22
23 const char* storageTag() const override { return "Vulkan"; }
24 bool validatePlaneHandles() const override;
25 QVideoFrameTexturesUPtr mapTextures(QRhi& rhi, QVideoFrameTexturesUPtr& old) override;
26};
27
28#endif // QGC_HAS_GST_VULKAN_GPU_PATH
Common base for GStreamer-backed QHwVideoBuffer subclasses.
virtual const char * storageTag() const
Human-readable GPU path identifier (e.g. "DMABuf"); string literal, safe from any thread.
virtual bool validatePlaneHandles() const
Streaming-thread sanity check on per-plane handles; failure routes to CPU memcpy.