📄 irtsp.h
字号:
//********************************************************************************
// irtsp.h
//
//
// thyne richards 2/00
//********************************************************************************
#ifndef _IRTSP_H
#define _IRTSP_H
#define _WIN32_WINNT 0x0400
#define WINVER 0x0400
#include "osinc.h"
#include "rmstruct.h"
#include "isock.h"
//conversion macros
#define fix4endian(x) (((DWORD)x << 24) | (((DWORD)x << 8) & (0x00FF0000)) | \
(((DWORD)x >> 8) & (0x0000FF00)) | ((DWORD)x >> 24))
#define fix2endian(x) ((WORD)(((WORD)x << 8) | ((WORD)x >> 8)))
typedef struct tagIRtsp
{
struct tagIRtspVtbl *lpVtbl;
} IRtsp;
typedef struct tagIRtspVtbl
{
BOOL (*Close) (IRtsp *This, CONN_DATA*);
BOOL (*GetInfo) (IRtsp *This, CONN_DATA*, RTSPINFO*);
BOOL (*Open) (IRtsp *This, CONN_DATA*, char*);
BOOL (*Pause) (IRtsp *This, CONN_DATA*);
BOOL (*Ping) (IRtsp *This, CONN_DATA*);
BOOL (*Play) (IRtsp *This, CONN_DATA*);
BOOL (*SetPlayRate) (IRtsp *This, CONN_DATA*, LONG);
BOOL (*SetPosition) (IRtsp *This, CONN_DATA*, char*, char*);
BOOL (*Stop) (IRtsp *This, CONN_DATA*);
DWORD (*Headers) (IRtsp *This, char*);
void (*ParseSDP) (IRtsp *This, RTSPINFO*, char*, char*);
DWORD (*Response) (IRtsp *This, CONN_DATA*, char*, RTSPINFO*);
int (*GetSgiHeader) (IRtsp *This, char*, char*);
void (*ParseSGI) (IRtsp *This, RTSPINFO*, char*);
void (*Initialize) (IRtsp *This, CONN_DATA*, char*, int, int);
} IRtspVtbl;
#define IRtsp_Close(This, condata) \
(This)->lpVtbl->Close(This, condata)
#define IRtsp_GetInfo(This, condata, rtspin) \
(This)->lpVtbl->GetInfo(This, condata, rtspin)
#define IRtsp_Open(This, condata, string) \
(This)->lpVtbl->Open(This, condata, string)
#define IRtsp_Pause(This, condata) \
(This)->lpVtbl->Pause(This, condata)
#define IRtsp_Ping(This, condata) \
(This)->lpVtbl->Ping(This, condata)
#define IRtsp_Play(This, condata) \
(This)->lpVtbl->Play(This, condata)
#define IRtsp_SetPlayRate(This, condata, number) \
(This)->lpVtbl->SetPlayRate(This, condata, number)
#define IRtsp_SetPosition(This, condata, string1, string2) \
(This)->lpVtbl->SetPosition(This, condata, string1, string2)
#define IRtsp_Stop(This, condata) \
(This)->lpVtbl->Stop(This, condata)
#define IRtsp_Headers(This, string) \
(This)->lpVtbl->Headers(This, string)
#define IRtsp_ParseSDP(This, rtspin, string1, string2) \
(This)->lpVtbl->ParseSDP(This, rtspin, string1, string2)
#define IRtsp_GetSgiHeader(This, string1, string2) \
(This)->lpVtbl->GetSgiHeader(This, string1, string2)
#define IRtsp_ParseSGI(This, rtspin, string) \
(This)->lpVtbl->ParseSGI(This, rtspin, string)
#define IRtsp_Initialize(This, condata, string, num1, num2) \
(This)->lpVtbl->Initialize(This, condata, string, num1, num2)
#ifdef __cplusplus
extern "C" {
#endif
ULONG CreateRtspInstance(void **ppv);
ULONG DeleteRtspInstance(void *pv);
#ifdef __cplusplus
}
#endif
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -