Hyperion "Light", Build improvements and minor fixes (#1400)

* Allow build, if no grabbers are enabled

* Align available functions to right Qt version

* Update to next development version

* Align available functions to right Qt version

* fix workflows (apt/nightly)

* Disable QNetworkConfigurationManager deprecation warnings

* Initial go on Smart Pointers

* Add Deallocation

* Correct QT_WARNING_DISABLE_DEPRECATED (available since 5.9)

* Cluster Build Variables

* Hyperion Light

* Address build warnings

* Hyperion Light - UI

* Update Protobuf to latest master

* Removed compiler warnings

* Added restart ability to systray

* Correct Protobuf

* Ignore 'no-return' warning on protobuf build

* hyperion-remote: Fix auto discovery of hyperion server

* Fix Qt version override

* Update changelog

* Remove Grabber Components, if no Grabber exists

* Standalone Grabber - Fix fps default

* Remote Control - Have Source Selction accrosswhole screen

* Enable Blackborder detection only, if relevant input sources available

* Enable Blackborder detection only, if relevant input sources available

* Remote UI - rearrange containers

* - QT5/6 path for arm64 added
- Remove ZLib Dependency
- Fix macOS bundle info details
- Cleanup

Co-authored-by: Paulchen Panther <16664240+Paulchen-Panther@users.noreply.github.com>
Co-authored-by: Paulchen Panther <Paulchen-Panter@protonmail.com>
This commit is contained in:
LordGrey
2022-01-07 14:47:51 +01:00
committed by GitHub
parent c38ec60208
commit 2f573a117f
83 changed files with 1785 additions and 1284 deletions

View File

@@ -29,10 +29,14 @@
#include "hyperiond.h"
// Flatbuffer Server
#ifdef ENABLE_FLATBUF_SERVER
#include <flatbufserver/FlatBufferServer.h>
#endif
// Protobuffer Server
#ifdef ENABLE_PROTOBUF_SERVER
#include <protoserver/ProtoServer.h>
#endif
// ssdp
#include <ssdp/SSDPHandler.h>
@@ -83,7 +87,9 @@ HyperionDaemon::HyperionDaemon(const QString& rootPath, QObject* parent, bool lo
, _qtGrabber(nullptr)
, _dxGrabber(nullptr)
, _ssdp(nullptr)
#ifdef ENABLE_CEC
, _cecHandler(nullptr)
#endif
, _currVideoMode(VideoMode::VIDEO_2D)
{
HyperionDaemon::daemon = this;
@@ -179,6 +185,7 @@ void HyperionDaemon::freeObjects()
delete _jsonServer;
_jsonServer = nullptr;
#if defined(ENABLE_FLATBUF_SERVER)
if (_flatBufferServer != nullptr)
{
auto flatBufferServerThread = _flatBufferServer->thread();
@@ -187,7 +194,9 @@ void HyperionDaemon::freeObjects()
delete flatBufferServerThread;
_flatBufferServer = nullptr;
}
#endif
#if defined(ENABLE_PROTOBUF_SERVER)
if (_protoServer != nullptr)
{
auto protoServerThread = _protoServer->thread();
@@ -196,6 +205,7 @@ void HyperionDaemon::freeObjects()
delete protoServerThread;
_protoServer = nullptr;
}
#endif
//ssdp before webserver
if (_ssdp != nullptr)
@@ -268,6 +278,7 @@ void HyperionDaemon::startNetworkServices()
_jsonServer = new JsonServer(getSetting(settings::JSONSERVER));
connect(this, &HyperionDaemon::settingsChanged, _jsonServer, &JsonServer::handleSettingsUpdate);
#if defined(ENABLE_FLATBUF_SERVER)
// Create FlatBuffer server in thread
_flatBufferServer = new FlatBufferServer(getSetting(settings::FLATBUFSERVER));
QThread* fbThread = new QThread(this);
@@ -277,7 +288,9 @@ void HyperionDaemon::startNetworkServices()
connect(fbThread, &QThread::finished, _flatBufferServer, &FlatBufferServer::deleteLater);
connect(this, &HyperionDaemon::settingsChanged, _flatBufferServer, &FlatBufferServer::handleSettingsUpdate);
fbThread->start();
#endif
#if defined(ENABLE_PROTOBUF_SERVER)
// Create Proto server in thread
_protoServer = new ProtoServer(getSetting(settings::PROTOSERVER));
QThread* pThread = new QThread(this);
@@ -287,6 +300,7 @@ void HyperionDaemon::startNetworkServices()
connect(pThread, &QThread::finished, _protoServer, &ProtoServer::deleteLater);
connect(this, &HyperionDaemon::settingsChanged, _protoServer, &ProtoServer::handleSettingsUpdate);
pThread->start();
#endif
// Create Webserver in thread
_webserver = new WebServer(getSetting(settings::WEBSERVER), false);
@@ -416,8 +430,6 @@ void HyperionDaemon::handleSettingsUpdate(settings::type settingsType, const QJs
if (_prevType != type)
{
Info(_log, "set screen capture device to '%s'", QSTRING_CSTR(type));
// stop all capture interfaces
#ifdef ENABLE_FB
if (_fbGrabber != nullptr)