47 lines
1012 B
C++
47 lines
1012 B
C++
#ifndef HXVIDEODEVICES_H
|
|
#define HXVIDEODEVICES_H
|
|
|
|
#include "HxVideoFrame.h"
|
|
#include "HxVideoLiveStream.h"
|
|
|
|
#include <QObject>
|
|
#include <QUuid>
|
|
|
|
typedef void (*OnDeviceStatusCallback)(QUuid uuid, ConnectionStatus status);
|
|
|
|
typedef void (*OnDeviceStreamCallback)(QUuid uuid, HxVideoFrame videoframe);
|
|
|
|
typedef struct __HxVideoDeviceContext
|
|
{
|
|
QUuid uuid;
|
|
|
|
int channel;
|
|
|
|
int stream;
|
|
|
|
QString rtspurl;
|
|
|
|
OnDeviceStatusCallback status_callback;
|
|
|
|
OnDeviceStreamCallback stream_callback;
|
|
|
|
} HxVideoDeviceContext;
|
|
|
|
class HxVideoDevices
|
|
{
|
|
public:
|
|
static void initialization();
|
|
|
|
static QString rtspurl(QString type, QString address, int port, int channel, int stream);
|
|
|
|
static void connect(QString rtspurl);
|
|
static void connect(QString type, QString address, int port, int channel, int stream = -1);
|
|
|
|
static void disconnect();
|
|
|
|
static void subscribe(HxVideoDeviceContext context);
|
|
static void unsubscribe(HxVideoDeviceContext context);
|
|
};
|
|
|
|
#endif // HXVIDEODEVICES_H
|