11#include <QtWebSockets/QWebSocket>
14#include "ekos/manager.h"
15#include "nodemanager.h"
21class Media :
public QObject
26 explicit Media(Ekos::Manager * manager, QVector<QSharedPointer<NodeManager>> &nodeManagers);
27 virtual ~Media() =
default;
29 bool isConnected()
const;
30 void sendResponse(
const QString &command,
const QJsonObject &payload);
31 void sendResponse(
const QString &command,
const QJsonArray &payload);
33 void registerCameras();
36 void sendFile(
const QString &filename,
const QString &uuid);
37 void sendData(
const QSharedPointer<FITSData> &data,
const QString &uuid);
38 void sendView(
const QSharedPointer<FITSView> &view,
const QString &uuid);
39 void sendUpdatedFrame(
const QSharedPointer<FITSView> &view);
40 void sendModuleFrame(
const QSharedPointer<FITSView> &view);
43 void sendDarkLibraryData(
const QSharedPointer<FITSData> &data);
49 void newBoundingRect(QRect rect, QSize view,
double currentZoom);
50 void newMetadata(
const QByteArray &metadata);
51 void newImage(
const QByteArray &image);
55 void sendVideoFrame(
const QSharedPointer<QImage> &frame);
58 void setCorrectionVector(QLineF correctionVector)
60 this->correctionVector = correctionVector;
64 void resetPolarView();
66 void processNewBLOB(IBLOB *bp);
71 void onDisconnected();
74 void onTextReceived(
const QString &message);
75 void onBinaryReceived(
const QByteArray &message);
78 void uploadMetadata(
const QByteArray &metadata);
79 void uploadImage(
const QByteArray &image);
82 void dispatch(
const QSharedPointer<FITSData> &data,
const QString &uuid);
83 void upload(
const QSharedPointer<FITSView> &view,
const QString &uuid);
85 void upload(
const QSharedPointer<FITSData> &data,
const QImage &image,
const StretchParams ¶ms,
const QString &uuid);
86 void stretch(
const QSharedPointer<FITSData> &data, QImage &image, StretchParams ¶ms)
const;
88 Ekos::Manager * m_Manager {
nullptr };
89 QVector<QSharedPointer<NodeManager>> m_NodeManagers;
91 QStringList temporaryFiles;
92 QLineF correctionVector;
94 bool m_sendBlobs {
true};
97 static const uint16_t HB_IMAGE_WIDTH = 1920;
99 static const uint16_t HB_VIDEO_WIDTH = 1280;
101 static const uint8_t HB_IMAGE_QUALITY = 90;
103 static const uint8_t HB_VIDEO_QUALITY = 64;
105 static const uint8_t HB_PAH_IMAGE_QUALITY = 50;
107 static const uint8_t HB_PAH_VIDEO_QUALITY = 24;
110 static const uint16_t RECONNECT_INTERVAL = 5000;
112 static const uint16_t RECONNECT_MAX_TRIES = 720;
115 static const uint16_t METADATA_PACKET = 512;
118 static const uint16_t HIPS_TILE_WIDTH = 512;
119 static const uint16_t HIPS_TILE_HEIGHT = 512;
Generic record interfaces and implementations.