首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的directshow图形(带有动态格式)会挂起?

为什么我的directshow图形(带有动态格式)会挂起?
EN

Stack Overflow用户
提问于 2015-12-22 01:57:59
回答 1查看 163关注 0票数 0

我有一个定制的“水槽”过滤器。我创建了一个BDA图,并通过调用IGraphBuilder2 2::RenderStream将MPEG2VIDEO流发送给它,它还添加了一个中间“解码”过滤器。此时,它会通知我的过滤器,它将传递给它704x480 YUY2数据。

当我在图形上调用Run时,就会发生调优(我猜想),并且数据的格式显然会发生变化,因为上游解码器在我的过滤器的引脚上调用ReceiveConnection,其大小为1280x720。我接受它并返回S_OK。

但是,如果我返回S_OK,图形基本上就挂起了。如果我返回VFW_E_ALREADY_CONNECTED,那么它成功地为我提供了704x480数据。奇怪的是,如果我在GraphEdit中运行相同类型的图形,但是使用普通的视频渲染器,它成功地重新协商了格式并使用了它。需要注意的一点是,我的过滤器没有自定义分配器。有什么想法吗?

这种情况下的解码滤波器是PowerDVD 8的"mpeg2视频解码器“。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 17:55:47

最后我认为这与内容重新谈判有关.没有得到正确处理.我的工作是使用不同的过滤器(lav过滤器与ffdshow) (这可能避免了一个bug,但随后又引入了更多),所以我最终只通过了原始的MPEG流(这并不容易.)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34407354

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档