fix: #19 the CBuffer causing server crash

This commit is contained in:
yuanyuanxiang
2024-12-26 17:07:43 +08:00
parent 5b86910cb2
commit 0c0c24534b
12 changed files with 256 additions and 137 deletions

View File

@@ -139,8 +139,7 @@ void CVideoDlg::ResetScreen(void)
int iBitMapInforSize = m_ContextObject->InDeCompressedBuffer.GetBufferLength() - 1;
m_BitmapInfor_Full = (LPBITMAPINFO) new BYTE[iBitMapInforSize];
memcpy(m_BitmapInfor_Full, m_ContextObject->InDeCompressedBuffer.GetBuffer(1), iBitMapInforSize);
m_ContextObject->InDeCompressedBuffer.CopyBuffer(m_BitmapInfor_Full, iBitMapInforSize, 1);
m_BitmapData_Full = new BYTE[m_BitmapInfor_Full->bmiHeader.biSizeImage];
m_BitmapCompressedData_Full = new BYTE[m_BitmapInfor_Full->bmiHeader.biSizeImage];
}
@@ -249,7 +248,7 @@ void CVideoDlg::OnReceiveComplete(void)
{
++m_nCount;
switch (m_ContextObject->InDeCompressedBuffer.GetBuffer(0)[0])
switch (m_ContextObject->InDeCompressedBuffer.GetBYTE(0))
{
case TOKEN_WEBCAM_DIB:
{
@@ -270,7 +269,8 @@ void CVideoDlg::DrawDIB(void)
const int nHeadLen = 1 + 1 + 4;
LPBYTE szBuffer = m_ContextObject->InDeCompressedBuffer.GetBuffer();
Buffer tmp = m_ContextObject->InDeCompressedBuffer.GetMyBuffer(0);
LPBYTE szBuffer = tmp.Buf();
UINT ulBufferLen = m_ContextObject->InDeCompressedBuffer.GetBufferLength();
if (szBuffer[1] == 0) // û<>о<EFBFBD><D0BE><EFBFBD>H263ѹ<33><D1B9><EFBFBD><EFBFBD>ԭʼ<D4AD><CABC><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>
{