mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
ProtoBuffer, UDPListener ...
Protocol Buffer reimplemented to receive image data from third-party apps The status of the component "UDPListener" is now displayed correctly in WebUI Global signal names for WebUI added
This commit is contained in:
@@ -17,6 +17,7 @@ target_link_libraries(hyperiond
|
||||
jsonserver
|
||||
udplistener
|
||||
flatbufserver
|
||||
protoserver
|
||||
webserver
|
||||
bonjour
|
||||
ssdp
|
||||
|
@@ -26,9 +26,12 @@
|
||||
#include <HyperionConfig.h> // Required to determine the cmake options
|
||||
#include "hyperiond.h"
|
||||
|
||||
// FlatBufferServer
|
||||
// Flatbuffer Server
|
||||
#include <flatbufserver/FlatBufferServer.h>
|
||||
|
||||
// Protobuffer Server
|
||||
#include <protoserver/ProtoServer.h>
|
||||
|
||||
// bonjour browser
|
||||
#include <bonjour/bonjourbrowserwrapper.h>
|
||||
|
||||
@@ -145,6 +148,8 @@ void HyperionDaemon::freeObjects()
|
||||
delete _jsonServer;
|
||||
_flatBufferServer->thread()->quit();
|
||||
_flatBufferServer->thread()->wait(1000);
|
||||
_protoServer->thread()->quit();
|
||||
_protoServer->thread()->wait(1000);
|
||||
//ssdp before webserver
|
||||
_ssdp->thread()->quit();
|
||||
_ssdp->thread()->wait(1000);
|
||||
@@ -166,17 +171,18 @@ void HyperionDaemon::freeObjects()
|
||||
|
||||
_v4l2Grabbers.clear();
|
||||
_bonjourBrowserWrapper = nullptr;
|
||||
_amlGrabber = nullptr;
|
||||
_dispmanx = nullptr;
|
||||
_fbGrabber = nullptr;
|
||||
_osxGrabber = nullptr;
|
||||
_qtGrabber = nullptr;
|
||||
_flatBufferServer = nullptr;
|
||||
_ssdp = nullptr;
|
||||
_webserver = nullptr;
|
||||
_jsonServer = nullptr;
|
||||
_udpListener = nullptr;
|
||||
_stats = nullptr;
|
||||
_amlGrabber = nullptr;
|
||||
_dispmanx = nullptr;
|
||||
_fbGrabber = nullptr;
|
||||
_osxGrabber = nullptr;
|
||||
_qtGrabber = nullptr;
|
||||
_flatBufferServer = nullptr;
|
||||
_protoServer = nullptr;
|
||||
_ssdp = nullptr;
|
||||
_webserver = nullptr;
|
||||
_jsonServer = nullptr;
|
||||
_udpListener = nullptr;
|
||||
_stats = nullptr;
|
||||
}
|
||||
|
||||
void HyperionDaemon::startNetworkServices()
|
||||
@@ -198,6 +204,16 @@ void HyperionDaemon::startNetworkServices()
|
||||
connect(this, &HyperionDaemon::settingsChanged, _flatBufferServer, &FlatBufferServer::handleSettingsUpdate);
|
||||
fbThread->start();
|
||||
|
||||
// Create Proto server in thread
|
||||
_protoServer = new ProtoServer(getSetting(settings::PROTOSERVER));
|
||||
QThread* pThread = new QThread(this);
|
||||
_protoServer->moveToThread(pThread);
|
||||
connect( pThread, &QThread::started, _protoServer, &ProtoServer::initServer );
|
||||
connect( pThread, &QThread::finished, _protoServer, &QObject::deleteLater );
|
||||
connect( pThread, &QThread::finished, pThread, &QObject::deleteLater );
|
||||
connect(this, &HyperionDaemon::settingsChanged, _protoServer, &ProtoServer::handleSettingsUpdate);
|
||||
pThread->start();
|
||||
|
||||
// Create UDP listener
|
||||
_udpListener = new UDPListener(getSetting(settings::UDPLISTENER));
|
||||
connect(this, &HyperionDaemon::settingsChanged, _udpListener, &UDPListener::handleSettingsUpdate);
|
||||
|
@@ -63,6 +63,7 @@ class SettingsManager;
|
||||
class PythonInit;
|
||||
class SSDPHandler;
|
||||
class FlatBufferServer;
|
||||
class ProtoServer;
|
||||
|
||||
class HyperionDaemon : public QObject
|
||||
{
|
||||
@@ -130,33 +131,34 @@ private:
|
||||
void createGrabberX11(const QJsonObject & grabberConfig);
|
||||
void createGrabberQt(const QJsonObject & grabberConfig);
|
||||
|
||||
Logger* _log;
|
||||
BonjourBrowserWrapper* _bonjourBrowserWrapper;
|
||||
PythonInit* _pyInit;
|
||||
WebServer* _webserver;
|
||||
JsonServer* _jsonServer;
|
||||
UDPListener* _udpListener;
|
||||
Logger* _log;
|
||||
BonjourBrowserWrapper* _bonjourBrowserWrapper;
|
||||
PythonInit* _pyInit;
|
||||
WebServer* _webserver;
|
||||
JsonServer* _jsonServer;
|
||||
UDPListener* _udpListener;
|
||||
std::vector<V4L2Wrapper*> _v4l2Grabbers;
|
||||
DispmanxWrapper* _dispmanx;
|
||||
X11Wrapper* _x11Grabber;
|
||||
AmlogicWrapper* _amlGrabber;
|
||||
FramebufferWrapper* _fbGrabber;
|
||||
OsxWrapper* _osxGrabber;
|
||||
QtWrapper* _qtGrabber;
|
||||
Hyperion* _hyperion;
|
||||
Stats* _stats;
|
||||
SSDPHandler* _ssdp;
|
||||
FlatBufferServer* _flatBufferServer;
|
||||
DispmanxWrapper* _dispmanx;
|
||||
X11Wrapper* _x11Grabber;
|
||||
AmlogicWrapper* _amlGrabber;
|
||||
FramebufferWrapper* _fbGrabber;
|
||||
OsxWrapper* _osxGrabber;
|
||||
QtWrapper* _qtGrabber;
|
||||
Hyperion* _hyperion;
|
||||
Stats* _stats;
|
||||
SSDPHandler* _ssdp;
|
||||
FlatBufferServer* _flatBufferServer;
|
||||
ProtoServer* _protoServer;
|
||||
|
||||
unsigned _grabber_width;
|
||||
unsigned _grabber_height;
|
||||
unsigned _grabber_frequency;
|
||||
unsigned _grabber_cropLeft;
|
||||
unsigned _grabber_cropRight;
|
||||
unsigned _grabber_cropTop;
|
||||
unsigned _grabber_cropBottom;
|
||||
int _grabber_ge2d_mode;
|
||||
QString _grabber_device;
|
||||
unsigned _grabber_width;
|
||||
unsigned _grabber_height;
|
||||
unsigned _grabber_frequency;
|
||||
unsigned _grabber_cropLeft;
|
||||
unsigned _grabber_cropRight;
|
||||
unsigned _grabber_cropTop;
|
||||
unsigned _grabber_cropBottom;
|
||||
int _grabber_ge2d_mode;
|
||||
QString _grabber_device;
|
||||
|
||||
QString _prevType;
|
||||
|
||||
|
Reference in New Issue
Block a user