dtkmultimedia
DTK Multimedia module
载入中...
搜索中...
未找到
dcompositemanager.h
浏览该文件的文档.
1// SPDX-FileCopyrightText: 2022 UnionTech Software Technology Co., Ltd.
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4
5#ifndef DCOMPOSITEMANAGER_H
6#define DCOMPOSITEMANAGER_H
7#define MWV206_0
8
9#include <QtCore>
10#include <dtkmultimedia.h>
11
12DMULTIMEDIA_BEGIN_NAMESPACE
13
19
27
28using PlayerOption = QPair<QString, QString>;
29using PlayerOptionList = QList<PlayerOption>;
30class DCompositeManagerPrivate;
31
32class DCompositeManager : public QObject
33{
34 Q_OBJECT
35 Q_DECLARE_PRIVATE(DCompositeManager)
36
37public:
40 virtual ~DCompositeManager();
41 static void detectOpenGLEarly();
43 static bool runningOnVmwgfx();
44 static bool isPadSystem();
45 static bool isCanHwdec();
46 static void setCanHwdec(bool bCanHwdec);
47 static bool isMpvExists();
48#if !defined(__x86_64__)
49 bool hascard();
50#endif
51 void overrideCompositeMode(bool useCompositing);
52 bool composited() const;
54 bool isTestFlag() const;
55 void setTestFlag(bool flag);
56 bool isZXIntgraphics() const;
57 PlayerOptionList getProfile(const QString &name);
58 PlayerOptionList getBestProfile();
59 static void detectPciID();
60 static bool runningOnNvidia();
64 void getMpvConfig(QMap<QString, QString> *&aimMap);
67
68signals:
69 void compositingChanged(bool);
70
71protected:
72 QScopedPointer<DCompositeManagerPrivate> d_ptr;
73};
74DMULTIMEDIA_END_NAMESPACE
75
76#endif /* ifndef DCOMPOSITEMANAGER_H */
DCompositeManager类是负责对系统环境判断的类.
Definition dcompositemanager.h:33
static bool runningOnNvidia()
静态函数-是否运行在Nvidia显卡环境.
void getMpvConfig(QMap< QString, QString > *&aimMap)
获取mpv控制参数.
Platform platform() const
获取运行平台.
static bool isCanHwdec()
静态函数-是否能被硬解.
static void detectPciID()
静态函数-检测PCI配置.
PlayerOptionList getProfile(const QString &name)
获取配置信息.
PlayerOptionList getBestProfile()
获取最佳配置.
static bool isMpvExists()
静态函数-是否存在mpv运行环境.
static DCompositeManager & get()
静态函数-获取系统环境判断的实例.
bool isOnlySoftDecode()
是否运行在Nvidia显卡环境.
bool first_check_wayland_env()
第一次检测使用此函数检测是否为wayland环境.
void overrideCompositeMode(bool useCompositing)
设置窗口组合模式.
static void detectOpenGLEarly()
静态函数-检测opengl硬件环境.
bool isSpecialControls()
是否为专用控制器.
static OpenGLInteropKind interopKind()
静态函数-获取OPenGL 交互类型.
void setTestFlag(bool flag)
设置是否测试运行.
bool isZXIntgraphics() const
是否兆芯集显.
bool check_wayland_env()
是否为wayland环境.
bool isTestFlag() const
是否测试运行.
static bool runningOnVmwgfx()
静态函数-是否运行在虚拟机中.
void softDecodeCheck()
软件解码环境检测.
static void setCanHwdec(bool bCanHwdec)
静态函数-设置是否能被硬解.
static bool isPadSystem()
静态函数-是否是平板设备.
bool composited() const
获取窗口组合模式.
OpenGLInteropKind
Definition dcompositemanager.h:20
@ InteropVdpauGLX
Definition dcompositemanager.h:25
@ InteropVaapiGLX
Definition dcompositemanager.h:24
@ InteropNone
Definition dcompositemanager.h:21
@ InteropAuto
Definition dcompositemanager.h:22
@ InteropVaapiEGL
Definition dcompositemanager.h:23
Platform
Definition dcompositemanager.h:14
@ Unknown
Definition dcompositemanager.h:14
@ Alpha
Definition dcompositemanager.h:17
@ X86
Definition dcompositemanager.h:15
@ Arm64
Definition dcompositemanager.h:18
@ Mips
Definition dcompositemanager.h:16