directshow变换过滤器运行时错误 [英] directshow transform filter runtime error

查看:105
本文介绍了directshow变换过滤器运行时错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Dshow应用程序向导开发了directshow变换过滤器,使用graphedit时运行正常。



i在mfc中创建了gui,并加载了源文件,这个转换过滤器通过在itranform.h文件中将define guid更改为静态guid,gui工作得很好,加载并在我需要的相应面板中呈现视频。



但在某些系统中,变换过滤器不使用此gui,它会在变换过滤器中引发复制功能中的错误,这意味着目标IMediasample缓冲区大小低于源Imediasample缓冲区大小。这发生在第二帧。所以断言(ldestsize> = lsoursesize);创建断言错误。这意味着destiname缓冲区大小降低了一些reasom所以这个断言引起了。但在某些系统中工作得非常好,缓冲区大小总是相等的并且运行视频很好。



请帮助我任何人,我们急于向我们展示客户端系统,但它没有在那里运行。非常压力。



请帮帮我一个人,拜托,请。

解决方案

我在猜你已经在这里找到你的答案了吗?

http://social.msdn.microsoft.com/Forums/en-US/05c404d9-ef00-4328-a283-26cfbd110f46/directshow-transform-filter-runtime-error? forum = windowsdirectshowdevelopment [ ^ ]


上游过滤器查询在运行时更改媒体类型并传递该内容并忽略你的代码,但上游过滤器根据更改的媒体类型分配缓冲区,你得到一个例外。

另一个原因:你指定y分配器的缓冲区大小不符合您的需求,请尝试指定大尺寸。



问候,

Maxim。

i had developed directshow transform filter using Dshow app wizard, it is running fine while using with graphedit.

i had created gui in mfc, and load a source file, this transform filter by changing the define guid's to static guid's in itranform.h file, the gui worked fine it loads and render video in the respective panel as i need.

but in some systems the transform filter is not working with this gui, it raises error in copy function in the transform filter in meant the destination IMediasample buffer size is lower than the source Imediasample buffer size. this happen from the 2nd frame . so the assert(ldestsize>=lsoursesize); create assertion error. it means the destiname buffer size is lowered for some reasom so this assertion caused. but in some some system works very fine both buffer size are always equal and run the video fine.

please help me anybody, we are in rush have to show cit in client system, but it is not running there. very pressured.

please help me somebody, please, please.

解决方案

I'm guessing you already got your answer here?
http://social.msdn.microsoft.com/Forums/en-US/05c404d9-ef00-4328-a283-26cfbd110f46/directshow-transform-filter-runtime-error?forum=windowsdirectshowdevelopment[^]


The upstream filter query to change media type at runtime you pass that and ignore in your code, but the upstream filter allocates buffer according changed media type and you get's an exception.
Another reason: you specify buffer size for allocator which is not enougth for your needs, try to specify large size.

Regards,
Maxim.


这篇关于directshow变换过滤器运行时错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆