📄 rmstruct.h
字号:
/*****************************************************************************************
* structures.h *
* ------------------- *
* structure definitions *
* julien 11/99 *
*****************************************************************************************/
#ifndef _STRUCTURES_H
#define _STRUCTURES_H
#include "osinc.h"
typedef BOOL STATUS;
// VIDEO SERVER
#define OVS 1
#define SGI 2
#define MPEG1 0
#define MPEG2 1
// HEADERS
#define NONE_FOUND -1
#define ALLOW 1
#define CONNECTION 2
#define CONT_BASE 3
#define CONT_ENC 4
#define CONT_LEN 5
#define CONT_TYPE 6
#define CSEQ 7
#define LOCATION 8
#define PUB 9
#define RANGER 10
#define SCALE 11
#define SPEED 12
#define SERVER 13
#define SESSION 14
#define TRANSPORT 15
#define WWW_AUTH 16
#define X_BRIDGE 17
#define X_CONTADD 18
#define X_NOTICE 19
#define X_OVSEXT 20
#define X_SERVDATE 21
typedef struct {
char browseinfo[1024]; // file name and path
int servertype; // server type 1 OVS / 2 SGI / etc
char serverIp[15]; // server IP address as a string
}CRMProps;
// GLOBAL CONNECTION PARAMETERS
typedef struct {
DWORD m_dwSize; // size of the structure
char sClientIp[15]; // client IP address
int iClientPort; // client port
int iRTPPort; // client data port
// char sServerIp[15]; // server IP address
int iServerPort; // server port
char sInstanceUrl[1024]; // URL to be used as a reference during the session
char sSessionId[35]; // session ID
int iCSeq; // sequence number
DWORD dwTimeOut; // timeout value (OVS only)
char sName[50]; // name of the file (auto updated in OVS only)
SOCKET socket; // socket identifier
char sHeader[60]; // data file header (SGI only)
int iHeaderLen; // length of sHeader (SGI only)
// BYTE bServer; // server ID (1. OVS -- 2. SGI)
struct tagISock* pISock; // pointer to Socket interface
BOOL finished; // end of file flag
CRMProps rmprops;
int cont_type;
char mpg_Tpe[2][11];
} CONN_DATA;
// CONNECTION INFORMATION
typedef struct {
char network_type[20]; // ex: "IN" (internet)
char address_type[20]; // ex: "IP4"
char address[256]; // IP address
} CONN_INFO;
// PRESENTATION ORIGIN INFO
typedef struct {
char session_ID[10]; //
char version[10]; //
CONN_INFO connection; // session connection info
} ORIGIN;
// BANDWIDTH INFORMATION
typedef struct {
char modifier[10]; // modifier: ??
double value; // kb/s
} BANDWIDTH;
// TIMING INFORMATION
typedef struct {
int start; // start time of presentation (NTP)
int end; // end ---------
} TIME;
typedef struct {
char npt_start[20]; // start time in NPT format
char npt_end[20]; // end time in NPT format
int pts_start; // PTS start time
int pts_end; // PTS end time
} RANGE;
// ATTRIBUTES
typedef struct {
int audioHeader; // SGI audio header
int audioPid; // SGI audio PID
char control[1024]; // control URL for the presentation
double framerate; // frame rate in /s
double iFrames; // Frames to I Frames ratio (SGI)
int playmodes; // SGI authorized play mode
RANGE range; // range information
int videoPid; // SGI video PId
double Xbitrate; // bit rate in bps
char Xcontstatus[256]; // storage type?
char Xconttype[10]; // media type
char Xcreatedate[100]; // creation date
double Xduration; // duration of the presentation
int Xframegeometry[2]; // geometry
double Xpelaspect; // pixel aspect ratio
char Xname[30]; // name of the presentation
int Xclip;
} ATTRIBS;
// MEDIA INFORMATION
typedef struct {
char media_type[256]; // "audio", "video", "data", ..
int port; // port ID
char transport[256]; // transport protocol
char fmt[20]; // formats
} MEDIA_INFO;
// MEDIA GENERAL INFORMATION
typedef struct {
int iID;
MEDIA_INFO info; // MEDIA_INFO structure
CONN_INFO connection; // connection information
BANDWIDTH bw; // bandwidth info
ATTRIBS attributes; // media attributes
} MEDIA;
// RTSPINFO structure
typedef struct {
MEDIA media; // media information
ORIGIN origin; // SDP session origin
char session_name[256]; // session name
TIME time; // time information
BYTE version; // SDP version - 1 digit
int iFrame;
} RTSPINFO;
//OVS HEADER STRUCTURE
#pragma pack(1)
typedef struct ogfheader{
DWORD magic_value;
DWORD size;
WORD fseq;
BYTE RV;
BYTE DP;
DWORD type;
WORD cseq;
WORD cnum;
} OGF_HEADER;
#pragma pack()
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -