求助!关于windows下视频压缩(100分相送)
我利用VC自己编写了一个视频采集压缩网络发送的小程序,碰到一个很奇怪的问题
即在server采集压缩发送没有问题,client端接收也没有问题,但我在client端初
始化解码器的时候发送,利用ICopen()打开解码器,如果只打开一次,解出来的
是花屏效果,而如果连续执行ICopen()两次,这解码成功。
BOOL CVideoClientDlg::InitDecompressor()
{
long m_OutFormatSize;
m_CV.hic=ICOpen(ICTYPE_VIDEO,m_CV.fccHandler,ICMODE_DECOMPRESS);
m_CV.hic=ICOpen(ICTYPE_VIDEO,m_CV.fccHandler,ICMODE_DECOMPRESS);
if (m_CV.hic==NULL)
{
MessageBox("please install the proper decompressor!");
return FALSE;
}
m_OutFormatSize=ICDecompressGetFormatSize(m_CV.hic,&m_InInfo);
m_pOutInfo=(BITMAPINFO*)new BYTE[m_OutFormatSize];
if(ICDecompressGetFormat(m_CV.hic,&m_InInfo,m_pOutInfo)!=ICERR_OK)
return FALSE;
m_OutBufSize=m_pOutInfo->bmiHeader.biSizeImage;
m_pOutBuf=new BYTE[m_OutBufSize];
memset(m_pOutBuf,0,m_OutBufSize);
AddLog("max decompress frame size ",m_OutBufSize);
if( ICDecompressBegin(m_CV.hic,&m_InInfo,m_pOutInfo)!=ICERR_OK)
return FALSE;
return TRUE;
}
m_CV,m_InInfo均是由Server端发送过来的。
我是在局域网内做的实验。这是什么原因?