DirectShow Dump例子问题

EraserPeople 2009-08-07 11:07:01
有个reader filter第三方的,两个输出PIN,分别为音,视频;我在sdk sample中Dump基础上写了个filter,两个输入PIN,和reader对接,然后保存为文件,现在已连通,运行也正常.
问题来了:
我想截取一段内容保存为文件,用IMediaSeeking接口实现,如截取5秒到10秒的内容保存为文件,Dump中实现了Seek动作的上传,代码如下:
STDMETHODIMP CDump::NoDelegatingQueryInterface( REFIID riid, void **ppv )
{
if( riid == IID_IMediaPosition || riid == IID_IMediaSeeking )
{
if( pPosition == NULL )
m_pPosition = new CRendererPosPassThru( NAME, GetOwner(), &hr, m_pVideoPin );

return m_pPosition->NonDelegatingQueryInterface( riid, ppv );
}
}
看似没有问题,但运行结果为取了5-10秒的视频和全部的音频,如果把PIN换为音频PIN变量,则相反,不知道是为什么?
刚开始怀疑第三方的reader filter有问题,但我用智能连接renderfile在屏幕上播放,音视频确都只播了5秒.
想不通问题应该出在哪里?还请高人指点一下.
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nihao38 2009-08-11
  • 打赏
  • 举报
回复
关注
EraserPeople 2009-08-10
  • 打赏
  • 举报
回复
是"reader"不是"render",其实就是source filter,负责读文件,把音视频分离,用两个PIN输出,然后连接到我自已写的Dump filter中.
czbever 2009-08-07
  • 打赏
  • 举报
回复
"有个reader filter第三方的,两个输出PIN "

render都是没有输出pin的  你所说的应该是transform

你的问题 我感觉描述得不够清楚 希望你能说清楚一点
EraserPeople 2009-08-07
  • 打赏
  • 举报
回复
自已UP一下喽.

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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