📄 net_avtcp.h
字号:
#ifndef _NET_AVTCP_H
#define _NET_AVTCP_H
#define USE_SOUNDOUTx
#include "../notif/notif_av.h"
#include "../notif/notif_cmd.h"
#include "../av/_video_buf.h"
#include "cs.h"
#include "net.h"
#include "net_clienttcp.h"
#include "thread.h"
// added 2003-10-25, for another decoder lib
class decoder;
class sd_base;
//##ModelId=3F9A1D2401E6
class net_avtcp: public net_clienttcp
{
//////////////////////////////////////////////////////////////////////////
// added 2003-10-25, for another decoder lib
//##ModelId=3F9A1D2401FB
decoder* dec;
int last1_len,last2_len;
//////////////////////////////////////////////////////////////////////////
//##ModelId=3F9A1D240204
volatile bool exit;
//#ifdef _DEBUG
//##ModelId=3F9A1D240222
int index;
//#endif
ULONG VOD_id;
//##ModelId=3F9A1D24022C
ULONG remote_ip;
//##ModelId=3F9A1D240236
USHORT remote_port;
//##ModelId=3F9A1D240240
int chnl;
// 事件, 收到多播数据
//##ModelId=3F9A1D240254
virtual void on_disconnect(ULONG from_ip, USHORT from_port);
virtual bool on_net_tcp_recv(byte* buf, int length, ULONG from_ip, USHORT from_port);
//##ModelId=3F9A1D240331
critical_section cs_draw;
//##ModelId=3F9A1D240345
static COLOR_SPACE cs;
//##ModelId=3F9A1D240358
static BOOL video_mem; // video memory or system memory
public:
UINT bits;//接收到的视音频数据大小
UINT bitrate;//码流大小
UINT bitrate_1;
UINT bitrate_2;
UINT bitrate_3;
UINT bitrate_4;
//##ModelId=3F9A1D240395
static void switch_audio(int group);
//##ModelId=3F9A1D24039F
static void mute_toggle();
//##ModelId=3F9A1D2403AA
static void mute();
//##ModelId=3F9A1D2403BD
static void unmute();
//##ModelId=3F9A1D2403C7
static bool is_muted();
//##ModelId=3F9A1D2403DB
static int get_audio_group();
//////////////////////////////////////////////////////////////////////////
// added 2003-10-25, for another decoder lib
//bool lc_is_recording() {return lc.lr_is_recording();}
void lr_begin(TCHAR drive);
void lr_end();
void lr_get_drive(TCHAR* drive);
BOOL join(ULONG ip,USHORT port);
SOCKET get_socket();
BOOL create_udp_socket(ULONG ip,USHORT port);
//////////////////////////////////////////////////////////////////////////
//##ModelId=3F9A1D2403E5
net_avtcp(int idx);
//##ModelId=3F9A1D250007
virtual ~net_avtcp();
//##ModelId=3F9A1D250011
bool create(ULONG ip, USHORT port,BOOL bUdpav);
//##ModelId=3F9A1D25001C
virtual void destroy();
//##ModelId=3F9A1D250043
virtual void leave();
//##ModelId=3F9A1D250045
bool open_channel(ULONG mip, USHORT mport, int channel,BOOL bUdpav);
//##ModelId=3F9A1D25006B
void close_channel(ULONG ip, USHORT port, int channel);
//##ModelId=3F9A1D250080
void logout(ULONG ip, USHORT port);
//##ModelId=3F9A1D250093
ULONG svr_ip() const;
//##ModelId=3F9A1D25009D
USHORT svr_port() const;
//##ModelId=3F9A1D25009F
int svr_chnl() const;
//##ModelId=3F9A1D2500A8
bool is_opened() const;
bool is_vod() const;
//##ModelId=3F9A1D2500BB
bool snapshot(LPCTSTR bmpfile);
//##ModelId=3F9A1D2500C5
void set_cb(VIDEO_CALLEE vcb, ULONG ip, USHORT port, LONG channel);
void set_cb(VIDEO_CALLEE vcb);
BOOL set_cb_showhandle(VIDEO_CALLEE cb);
//##ModelId=3F9A1D2500CF
void update_window();
void set_play_mode(int mode);
int get_play_mode();
void set_vod_id(ULONG id);
ULONG get_vod_id();
//##ModelId=3F9A1D2500D0
static void set_video_renderer(COLOR_SPACE _cs, BOOL _video_mem);
void go();
void draw();
VIDEO_CALLEE cb;
private:
//##ModelId=3F9A1D250120
CRITICAL_SECTION m_cs; //互斥变量
int avtcp_mode;
// static sd_base* snd_decoder;
};
#endif // _NET_AV_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -