HxNvr/HxRtspBase/HxVideoDevices.h
2024-04-17 15:31:43 +08:00

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