-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathnodeselector.h
45 lines (38 loc) · 1.44 KB
/
nodeselector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef NODESELECTOR_H
#define NODESELECTOR_H
#include <QObject>
#include <QNetworkAccessManager>
#include <QString>
#include <QVariantMap>
#include "pidiscoverer.h"
#include "GStreamerPlayer.h"
#define playCommand "udpsrc port=$PORT ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264"
#define serverCommand "raspivid -t 0 -h $RESh -w $RESw -fps 49 -b 2000000 -o - | gst-launch-1.0 -v fdsrc ! h264parse ! rtph264pay config-interval=1 pt=96 ! udpsink host=$CLIENT_IP port=$UDP_PORT"
#define mavproxyCommand "mavproxy.py --master=/dev/ttyAMA0 --baudrate 57600 --out $CLIENT_IP:14550 --aircraft MyCopter"
class NodeSelector : public QObject
{
Q_OBJECT
public:
explicit NodeSelector(PiDiscoverer *discoverer, QNetworkAccessManager *nam,
GStreamerPlayer *player, QObject *parent = 0);
virtual ~NodeSelector();
QString deviceAddress() const;
Q_SIGNALS:
void thermalUrl(const QUrl &thermalUrl);
public Q_SLOTS:
void selectNext();
void selectPrevious();
void play();
void checkPlayback();
private Q_SLOTS:
void replyFinished();
private:
void sendRequest(const QUrl &url, const QVariantMap &properties = QVariantMap());
PiDiscoverer *m_discoverer;
GStreamerPlayer *m_player;
int m_currentIndex;
const QString m_playCommand, m_serverCommand, m_mavProxyCommand;
QNetworkAccessManager *m_nam;
QList<QString> m_ports;
};
#endif // NODESELECTOR_H