当前位置: 代码迷 >> 多媒体/流媒体开发 >> GetDeliveryBuffer 有关问题
  详细解决方案

GetDeliveryBuffer 有关问题

热度:5030   发布时间:2013-02-26 00:00:00.0
GetDeliveryBuffer 问题
CBaseOutputPin::GetDeliveryBuffer 的时候怎么会出现这错误 CO_E_FAILEDTOGETWINDIR  
   
  //  
  // MessageId: CO_E_FAILEDTOGETWINDIR  
  //  
  // MessageText:  
  //  
  // Unable to obtain the Windows directory  
  //  
  #define CO_E_FAILEDTOGETWINDIR _HRESULT_TYPEDEF_(0x80040211L)  
   
   
  这是由什么引起的啊 
C/C++ code
IMediaSample *pmediasample;                          BYTE * buf;                          unsigned long state;                          state=(unsigned long)((recv->pfilter)->m_output)->GetDeliveryBuffer(&pmediasample,NULL,NULL,0 );//AM_GBF_PREVFRAMESKIPPED                          pmediasample->GetPointer(&buf);                          memcpy(buf,buffer->GetBuffer(),strlen((char *)buffer->GetBuffer()));                          ((recv->pfilter)->m_output)->Deliver(pmediasample);                          //使用完毕重新放入缓冲池中                          buffer->Release();                          return TRUE;


------解决方案--------------------------------------------------------
是这个错误:VFW_E_NOT_COMMITTED
Cannot allocate a sample when the allocator is not active
看一下outputpin的DecideBufferSize分配成功了没有,还是outputpin没有connnect,还是你的这段代码写得太早了,filter的pin还没有active。
  相关解决方案