为什么连续读取avi文件中的一帧画面时内存在丢失??请各位高手帮帮忙分析一下
xokx 2001-11-30 01:32:11 ReadOneFrame(CString filename,int n)
{
if(第一次调用这个函数)
{
打开avi文件
得到数据流信息
根据数据流信息分配一个内存lpOneAviFrame=new char[ImgSize+40];
}
PGETFRAME pg;
pg=AVIStreamGetFrameOpen(gapavi[0],NULL);//打开数据流
memcpy(lpOneAviFrame,lpAVIOneFrameData,ImgSize+40);
//将读出的帧数据保存到lpAviFrame指针中,该指针在第一次打开avi文件时根据avi信息分配一定大小内存
memcpy(lpOneAviFrame,AVIStreamGetFrame(pg,n),ImgSize+40);
AVIStreamGetFrameClose(pg); //关闭数据流
}
在另一个函数中调用该函数从第一帧(n=0)连续读完所有帧时,可用内存不断减少,关闭应用程序删除lpOneAviFrame内存也释放不掉