如何开一个sourcefilter?用于播放缓冲区中的视频?

babu1234 2005-05-12 05:24:52
我从一个avi splitter的视频pin中用grabber读出一个sample的数据并保存到一个char *缓冲区buff中,将buff通过网络传给客户端,我想请问如何开发一个sourcefilter来获得buff中的视频并连接到一个videoRender中进行播放?
我试过了由CSourceStream和CSource开发一个源filter,但是无法连接Render,有经验的大侠帮帮我,给点意见吧!谢谢了!
...全文
86 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
babu1234 2005-05-13
  • 打赏
  • 举报
回复
我觉得我实现的那个SOURCE FILTER的问题可能是出在GetMediaType()方法的重载上,在GraphEdit中总无法与其它filter相连,除了ISampleGrabber和Null render两个不要求格式的filter。
就我的情况,该如何实现GetMediaType函数呢?大家帮帮我吧!我快郁闷死了!
下面是我的实现
HRESULT CPushPin::GetMediaType(CMediaType *pMediaType)
{
CAutoLock cAutoLock(m_pFilter->pStateLock());


pMediaType->SetType(&MEDIATYPE_Video);
pMediaType->SetSubtype(&MEDIASUBTYPE_RGB32);

pMediaType->SetFormatType(&FORMAT_VideoInfo);
pMediaType->SetTemporalCompression(FALSE);

return S_OK;
}
httpaspjspphp 2005-05-12
  • 打赏
  • 举报
回复
看看C:\DX90SDK\Samples\C++\DirectShow\Filters\DSNetwork
就会了

2,541

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧