Skip to content

Commit 1c3c1c4

Browse files
committed
Images of Glen walking around the atrium with a small blimp
1 parent 1fe3b3b commit 1c3c1c4

File tree

167 files changed

+3286
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

167 files changed

+3286
-0
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.

grandstream_surveillance_sdk/PTZ.pdf

86.3 KB
Binary file not shown.
Binary file not shown.
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
#ifndef __GSNETCLIENT_H__
2+
#define __GSNETCLIENT_H__
3+
4+
#include "GSNetStructDef.h"
5+
6+
//#define __BUILD_LIB
7+
8+
#if defined __BUILD_DLL
9+
#define GSNET_DLLAPI extern "C" __declspec(dllexport)
10+
#elif defined __BUILD_LIB
11+
#define GSNET_DLLAPI
12+
#else
13+
#define GSNET_DLLAPI extern "C" __declspec(dllimport)
14+
#endif
15+
16+
17+
/***************************PTZ******************************/
18+
#define PTZ_STOP 0 /* PTZ stop*/
19+
20+
#define TILT_UP 1 /* up */
21+
#define TILT_DOWN 2 /* down */
22+
#define PAN_LEFT 3 /* left */
23+
#define PAN_RIGHT 4 /* right */
24+
25+
26+
#define PT_LEFT_UP 5 /* */
27+
#define PT_LEFT_DOWN 6 /* */
28+
#define PT_RIGHT_UP 7 /* */
29+
#define PT_RIGHT_DOWN 8 /* */
30+
31+
#define PTZ_ZOOM_IN 9 /* */
32+
#define PTZ_ZOOM_OUT 10 /* */
33+
#define FOCUS_NEAR 11 /* */
34+
#define FOCUS_FAR 12 /* */
35+
#define IRIS_OPEN 13 /* */
36+
#define IRIS_CLOSE 14 /* */
37+
38+
39+
#define GOTO_PRESET 15 /* */
40+
#define CLE_PRESET 16 /* */
41+
#define SET_PRESET 17 /* */
42+
43+
44+
#define PAN_AUTO 18 /* 云台以Speed的速度左右巡航 */
45+
#define PAN_AUTO_STOP 19 /* 巡航停止 */
46+
47+
extern "C"
48+
{
49+
/******************************************************************/
50+
51+
GSNET_DLLAPI BOOL __stdcall GSNET_Startup(UINT ulMessage, HWND hWnd, void (WINAPI *messagecallback)(LONG handle, int wParam, int lParam, void *context)=NULL, void* context=NULL);
52+
GSNET_DLLAPI VOID __stdcall GSNET_Cleanup();
53+
GSNET_DLLAPI BOOL __stdcall GSNET_SetWaitTime(int WaitTime=5, int TryNum=3, int TryInterval=10);
54+
GSNET_DLLAPI VOID __stdcall GSNET_Log(const char *strFormat, ...);
55+
56+
57+
GSNET_DLLAPI LONG __stdcall GSNET_ClientStart(CHANNEL_CLIENTINFO *m_pChaninfo);
58+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStop(LONG hHandle);
59+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStartView(LONG hHandle);
60+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStopView(LONG hHandle);
61+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientSetWnd(LONG hHandle, HWND hWnd);
62+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientRefreshWnd(LONG hHandle);
63+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientShowcallback(LONG hHandle, void(WINAPI *ShowCallBack)(BYTE *m_y, BYTE *m_u, BYTE *m_v, int stridey, int strideuv, int width, int height, void *context), void *context);
64+
GSNET_DLLAPI LONG __stdcall GSNET_GetClientState(LONG hHandle);
65+
GSNET_DLLAPI BOOL __stdcall GSNET_GetBitStreamInfo(LONG hHandle, ULONG *pBitRate, ULONG *pFrameRate);
66+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientSetVideoParam(LONG hHandle, BYTE cbBrightness, BYTE cbContrast, BYTE cbSaturation);
67+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientGetVideoParam(LONG hHandle, BYTE *pcbBrightness, BYTE *pcbContrast, BYTE *pcbSaturation);
68+
GSNET_DLLAPI void __stdcall GSNET_ClientVerticalFlip(LONG hHandle, BOOL bVFlip);
69+
70+
GSNET_DLLAPI void __stdcall GSNET_ClientRotate180(LONG hHandle, BOOL bRotate180);
71+
72+
73+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientPlayAudio(LONG hHandle);
74+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStopAudio(LONG hHandle);
75+
76+
77+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientCapturePicture(LONG hHandle, LPCTSTR filename);
78+
79+
80+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStartRecord(LONG hHandle, LPCTSTR filename, DWORD dwDurationSeconds=0);
81+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStopRecord(LONG hHandle);
82+
83+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientPTZCtrl(LONG hHandle, int type, int param);
84+
85+
86+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientGetMDInfo(LONG hHandle, MOTION_DETECT_INFO* pMDInfo/*out*/);
87+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientSaveMDInfo(LONG hHandle, MOTION_DETECT_INFO* pMDInfo/*in*/);
88+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStartMD(LONG hHandle);
89+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStopMD(LONG hHandle);
90+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStopAlarm(LONG hHandle, ULONG ulDeviceNum);
91+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientShowMDRegion(LONG hHandle, ULONG ulShow);
92+
93+
94+
GSNET_DLLAPI BOOL __stdcall GSNET_ClientStartTalk(LONG hHandle);
95+
GSNET_DLLAPI void __stdcall GSNET_ClientStopTalk(LONG hHandle);
96+
97+
98+
GSNET_DLLAPI LONG __stdcall GSNET_OpenFile(char* filename, HWND hWnd, BOOL bPause=FALSE);
99+
GSNET_DLLAPI BOOL __stdcall GSNET_CloseFile(LONG hHandle);
100+
GSNET_DLLAPI BOOL __stdcall GSNET_ReplayPause(LONG hHandle);
101+
GSNET_DLLAPI BOOL __stdcall GSNET_ReplayContinue(LONG hHandle);
102+
GSNET_DLLAPI BOOL __stdcall GSNET_ReplayStepByStep(LONG hHandle);
103+
GSNET_DLLAPI BOOL __stdcall GSNET_SpeedFast(LONG hHandle);
104+
GSNET_DLLAPI BOOL __stdcall GSNET_SpeedNormal(LONG hHandle);
105+
GSNET_DLLAPI BOOL __stdcall GSNET_SpeedSlow(LONG hHandle);
106+
GSNET_DLLAPI ULONG __stdcall GSNET_ReplayTotalTime(LONG hHandle);
107+
GSNET_DLLAPI ULONG __stdcall GSNET_ReplayCurTime(LONG hHandle);
108+
GSNET_DLLAPI BOOL __stdcall GSNET_ReplaySeek(LONG hHandle, ULONG ulSeconds);
109+
};
110+
111+
112+
113+
114+
115+
116+
#endif
117+
118+
Binary file not shown.
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
#ifndef __GSNETSTRUCTDEF_H__
2+
#define __GSNETSTRUCTDEF_H__
3+
4+
#define MAX_SERVER_NAME_LEN 32
5+
#define MAX_USER_NAME_LEN 32
6+
#define MAX_PASSWORD_LEN 64
7+
8+
#define MAX_FILENAME_LEN 255
9+
10+
enum{
11+
PROTOCOL_RTSP_UDP = 0,
12+
PROTOCOL_RTSP_TCP = 1,
13+
PROTOCOL_RTSP_MCAST = 2,//(reserved)
14+
};
15+
16+
typedef struct{
17+
WORD m_protocol; //(reserved)
18+
WORD m_playstart; //if 0, video is hide; if 1, video is show(normally, set this parameter 1)
19+
BYTE m_ch; //channel
20+
HWND m_hVideohWnd; //window handle of shown video
21+
HWND m_hChMsgWnd; //(reserved)
22+
UINT m_nChMsgID; //(reserved)
23+
int m_buffnum;
24+
int m_useoverlay; //(reserved)
25+
COLORREF nColorKey; //color key (reserved)
26+
27+
void *lpReserv;
28+
void *callbackContext; //callback context a important param*
29+
30+
char url[128]; //eg: 192.168.83.254:554 or www.abcdef.com:554
31+
char m_sername[MAX_SERVER_NAME_LEN+1]; //reserved
32+
char m_username[MAX_USER_NAME_LEN+1]; //user name
33+
char m_password[MAX_PASSWORD_LEN+1]; //password
34+
}CHANNEL_CLIENTINFO;
35+
36+
#define MAX_MOTION_REGION 16
37+
typedef struct{
38+
BYTE cbSensitive[MAX_MOTION_REGION];
39+
RECT rcRegion[MAX_MOTION_REGION];
40+
}MOTION_DETECT_INFO;
41+
42+
43+
/**********************************************************/
44+
45+
/********************link message************************/
46+
/*wParam*/
47+
#define GSMSG_LINKMSG 1
48+
49+
/*lParam*/
50+
#define GSMSG_LINKMSG_OK 0 //successful
51+
#define GSMSG_LINKMSG_CONNECTING 1 //connecting, you can Ignore this message, normally
52+
#define GSMSG_LINKMSG_FAILED 2 //connect failed
53+
#define GSMSG_LINKMSG_DISCONNECT 3 //disconnect
54+
#define GSMSG_LINKMSG_RECONNECT 4 //reconnect
55+
#define GSMSG_LINKMSG_PLAYFAILED 5 //play failed and give up reconnect
56+
/******************************************************/
57+
58+
/********************motion detect*********************/
59+
/*wParam*/
60+
#define GSMSG_RECORD 6 //record state
61+
/*lParm*/
62+
#define GSMSG_RECORD_BEGIN_NORMAL_RECORD 0// you can Ignore this message, normally
63+
#define GSMSG_RECORD_END_NORMAL_RECORD 1// you can Ignore this message, normally
64+
#define GSMSG_RECORD_BEGIN_ALARM_RECORD 2// you can Ignore this message, normally
65+
#define GSMSG_RECORD_END_ALARM_RECORD 3// you can Ignore this message, normally
66+
#define GSMSG_RECORD_NORMAL_PACKET_FINISH 4//if you set record duration you must process this message to start other record-file.
67+
#define GSMSG_RECORD_ALARM_PACKET_FINISH 5// you can Ignore this message, normally
68+
/******************************************************/
69+
70+
/*wParam*/
71+
#define GSMSG_VIDEOMOTION 2 //motion detect
72+
#define GSMSG_VIDEOLOST 3 //video lost (reserved)
73+
#define GSMSG_ALARM 4 //probe alarm
74+
#define GSMSG_OUTPUTSTATUS 5 //(reserved)
75+
#define GSMSG_REPLAY_END 7 //replay file complete
76+
#endif
77+
78+
79+
80+
Binary file not shown.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// DialogAddress.cpp : 实现文件
2+
//
3+
4+
#include "stdafx.h"
5+
#include "GSNetClientDemo.h"
6+
#include "DialogAddress.h"
7+
8+
// CDialogAddress 对话框
9+
10+
IMPLEMENT_DYNAMIC(CDialogAddress, CDialog)
11+
12+
CDialogAddress::CDialogAddress(CWnd* pParent /*=NULL*/)
13+
: CDialog(CDialogAddress::IDD, pParent)
14+
{
15+
16+
}
17+
18+
CDialogAddress::~CDialogAddress()
19+
{
20+
}
21+
22+
void CDialogAddress::DoDataExchange(CDataExchange* pDX)
23+
{
24+
CDialog::DoDataExchange(pDX);
25+
DDX_Control(pDX, IDC_COMBO_CHANNEL, m_comboChannel);
26+
DDX_Control(pDX, IDC_EDIT1, m_ctrlIP);
27+
DDX_Control(pDX, IDC_COMBO_PROTOCOL, m_comboProtocol);
28+
}
29+
30+
31+
BEGIN_MESSAGE_MAP(CDialogAddress, CDialog)
32+
ON_BN_CLICKED(IDOK, &CDialogAddress::OnBnClickedOk)
33+
ON_BN_CLICKED(IDCANCEL, &CDialogAddress::OnBnClickedCancel)
34+
END_MESSAGE_MAP()
35+
36+
37+
// CDialogAddress 消息处理程序
38+
39+
void CDialogAddress::OnBnClickedOk()
40+
{
41+
m_ctrlIP.GetWindowText(m_StrIPAddress);
42+
m_CurChannel = m_comboChannel.GetCurSel();
43+
m_Protocol = m_comboProtocol.GetCurSel();
44+
45+
OnOK();
46+
}
47+
48+
void CDialogAddress::OnBnClickedCancel()
49+
{
50+
OnCancel();
51+
}
52+
53+
BOOL CDialogAddress::OnInitDialog()
54+
{
55+
CDialog::OnInitDialog();
56+
57+
m_ctrlIP.SetWindowText(m_StrIPAddress);
58+
m_comboChannel.AddString(_T("0"));
59+
m_comboChannel.AddString(_T("1"));
60+
m_comboChannel.AddString(_T("2"));
61+
m_comboChannel.AddString(_T("3"));
62+
m_comboChannel.AddString(_T("4"));
63+
m_comboChannel.AddString(_T("5"));
64+
m_comboChannel.AddString(_T("6"));
65+
m_comboChannel.AddString(_T("7"));
66+
m_comboChannel.SetCurSel(m_CurChannel);
67+
68+
m_comboProtocol.AddString(_T("UDP"));
69+
m_comboProtocol.AddString(_T("TCP"));
70+
m_comboProtocol.SetCurSel(m_Protocol);
71+
72+
return TRUE; // return TRUE unless you set the focus to a control
73+
// 异常: OCX 属性页应返回 FALSE
74+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#pragma once
2+
#include "afxwin.h"
3+
4+
5+
// CDialogAddress 对话框
6+
7+
class CDialogAddress : public CDialog
8+
{
9+
DECLARE_DYNAMIC(CDialogAddress)
10+
11+
public:
12+
CDialogAddress(CWnd* pParent = NULL); // 标准构造函数
13+
virtual ~CDialogAddress();
14+
15+
// 对话框数据
16+
enum { IDD = IDD_DIALOG_ADDRESS };
17+
18+
protected:
19+
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
20+
21+
DECLARE_MESSAGE_MAP()
22+
23+
public:
24+
CString m_StrIPAddress;
25+
ULONG m_CurChannel;
26+
ULONG m_Protocol;
27+
public:
28+
afx_msg void OnBnClickedOk();
29+
public:
30+
afx_msg void OnBnClickedCancel();
31+
public:
32+
virtual BOOL OnInitDialog();
33+
public:
34+
CComboBox m_comboChannel;
35+
public:
36+
CEdit m_ctrlIP;
37+
public:
38+
CComboBox m_comboProtocol;
39+
};
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
// DialogFullScreen.cpp : 实现文件
2+
//
3+
4+
#include "stdafx.h"
5+
#include "GSNetClientDemo.h"
6+
#include "DialogFullScreen.h"
7+
#include "GSNetClientDemoDlg.h"
8+
#include "../GSNetClient/GSNetClient.h"
9+
10+
11+
// CDialogFullScreen 对话框
12+
13+
IMPLEMENT_DYNAMIC(CDialogFullScreen, CDialog)
14+
15+
CDialogFullScreen::CDialogFullScreen(CWnd* pParent /*=NULL*/)
16+
: CDialog(CDialogFullScreen::IDD, pParent)
17+
{
18+
m_pParent = pParent;
19+
}
20+
21+
CDialogFullScreen::~CDialogFullScreen()
22+
{
23+
}
24+
25+
void CDialogFullScreen::DoDataExchange(CDataExchange* pDX)
26+
{
27+
CDialog::DoDataExchange(pDX);
28+
}
29+
30+
31+
BEGIN_MESSAGE_MAP(CDialogFullScreen, CDialog)
32+
ON_WM_PAINT()
33+
END_MESSAGE_MAP()
34+
35+
36+
// CDialogFullScreen 消息处理程序
37+
38+
BOOL CDialogFullScreen::OnInitDialog()
39+
{
40+
CDialog::OnInitDialog();
41+
42+
MoveWindow(0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), TRUE);
43+
44+
if(((CGSNetClientDemoDlg *)m_pParent)->m_hLiveRTSPHandle){
45+
GSNET_ClientSetWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hLiveRTSPHandle, m_hWnd);
46+
GSNET_ClientRefreshWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hLiveRTSPHandle);
47+
}
48+
else if(((CGSNetClientDemoDlg *)m_pParent)->m_hPlaybackHandle){
49+
GSNET_ClientSetWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hPlaybackHandle, m_hWnd);
50+
GSNET_ClientRefreshWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hPlaybackHandle);
51+
}
52+
53+
return TRUE; // return TRUE unless you set the focus to a control
54+
// 异常: OCX 属性页应返回 FALSE
55+
}
56+
57+
void CDialogFullScreen::OnPaint()
58+
{
59+
CPaintDC dc(this); // device context for painting
60+
RECT rect;
61+
GetWindowRect(&rect);
62+
63+
CBrush brush(RGB(10, 10, 10));
64+
dc.FillRect(&rect, &brush);
65+
66+
if(NULL != ((CGSNetClientDemoDlg *)m_pParent)->m_hLiveRTSPHandle)
67+
{
68+
GSNET_ClientRefreshWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hLiveRTSPHandle);
69+
}
70+
else if(NULL != ((CGSNetClientDemoDlg *)m_pParent)->m_hPlaybackHandle)
71+
{
72+
GSNET_ClientRefreshWnd(((CGSNetClientDemoDlg *)m_pParent)->m_hPlaybackHandle);
73+
}
74+
}

0 commit comments

Comments
 (0)