QGroundControl
Ground Control Station for MAVLink Drones
Loading...
Searching...
No Matches
VideoBackend.h
Go to the documentation of this file.
1#pragma once
2
3#include <QtCore/QString>
4#include <QtCore/qcontainerfwd.h>
5
6class Fact;
7class QObject;
8class QQuickItem;
9class QQuickWindow;
10class VideoReceiver;
11
15namespace VideoBackend
16{
17
18VideoReceiver *createReceiver(QObject *parent);
19void *createSink(QQuickItem *widget, QObject *parent);
20void releaseSink(void *sink);
21
23bool gpuZeroCopyAllowedForCurrentGraphicsApi(bool forceCpuVideoPath, bool forceSoftwareDecoder);
24
27constexpr bool needsAsyncInit() noexcept
28{
29#ifdef QGC_GST_STREAMING
30 return true;
31#else
32 return false;
33#endif
34}
35
38
42 bool ok = true;
43 QString error;
44};
45
47bool initialize(const QStringList &arguments, const EnvPrepResult &envResult);
48void applyDecoderPriorities(int rawOption);
49void onMainWindowReady(QQuickWindow *window);
50void bindDebugLevelFact(Fact *fact, QObject *context);
51void attachSink(QObject *receiver, void *sink, QQuickItem *widget);
52
53} // namespace VideoBackend
A Fact is used to hold a single value within the system.
Definition Fact.h:17
EnvPrepResult prepareEnvironment()
bool initialize(const QStringList &arguments, const EnvPrepResult &envResult)
bool gpuZeroCopyAllowedForCurrentGraphicsApi(bool forceCpuVideoPath, bool forceSoftwareDecoder)
Applies backend-wide sink policy before constructing the GStreamer sink.
void applyDecoderPriorities(int rawOption)
void releaseSink(void *sink)
void attachSink(QObject *receiver, void *sink, QQuickItem *widget)
void onMainWindowReady(QQuickWindow *window)
bool disabledForUnitTests()
True when the backend should be skipped under unit tests (opt back in with QGC_TEST_ENABLE_GSTREAMER)...
void * createSink(QQuickItem *widget, QObject *parent)
constexpr bool needsAsyncInit() noexcept
VideoReceiver * createReceiver(QObject *parent)
void bindDebugLevelFact(Fact *fact, QObject *context)