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

请问一个关于directshow的source filter开发的有关问题,多谢了

2014-01-23 
请教一个关于directshow的source filter开发的问题,谢谢了因为需求,要做一个播放加密视频文件的工具,于是

请教一个关于directshow的source filter开发的问题,谢谢了
因为需求,要做一个播放加密视频文件的工具,于是决定做一个source filter,预先把文件解密,用的是微软的Async例子
majortype = MEDIATYPE_Stream;
subtype = MEDIASUBTYPE_None; 
dwKBPerSec = INFINITE;
播放都能播放,也能调整进度,但是调用IMediaSeeking::GetStopPosition,得到的时间永远是0,而返回值却是S_OK,都两天了,一点进展的没有,请问是不是代码有还未实现的功能啊?GetStopPosition是怎样个原理呢?我的source filter不是只需要根据请求向下一个filter发送数据吗?
望哪位高人能在百忙之中抽出时间帮帮忙,真诚地谢谢各位了. directshow filter 视频 加密
[解决办法]
首先要实现GetCapabilities,然后根据你实现的SourceFilter特性,再去实现特性相关的函数。


STDMETHODIMP SourceFilter::GetCapabilities(DWORD* pdwCapabilities)
{
(*pdwCapabilities) = AM_SEEKING_CanSeekForwards 
[解决办法]
 AM_SEEKING_CanSeekBackwards 
[解决办法]
 AM_SEEKING_CanSeekAbsolute 
[解决办法]
 AM_SEEKING_CanGetCurrentPos 
[解决办法]
 AM_SEEKING_CanGetStopPos  
[解决办法]
 AM_SEEKING_CanGetDuration;

return S_OK;
}

热点排行