首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > 多媒体 >

GetDeliveryBuffer 有关问题

2012-02-25 
GetDeliveryBuffer 问题CBaseOutputPin::GetDeliveryBuffer的时候怎么会出现这错误CO_E_FAILEDTOGETWINDIR

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。

热点排行