Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ InfTee过滤器没有';不能使用VMR_C++_Render_Directshow_Multimedia - Fatal编程技术网

C++ InfTee过滤器没有';不能使用VMR

C++ InfTee过滤器没有';不能使用VMR,c++,render,directshow,multimedia,C++,Render,Directshow,Multimedia,我有一个类似于源-->输入-->VMR7/VMR9的过滤图 当我连接类似于源-->VMR7/VMR9的图形时,图形工作正常,但一旦插入InfTee 在源和VMR之间进行筛选然后我发现infte筛选器的o/p引脚和VMR的I/p引脚之间的引脚连接有问题。 我不想添加任何其他过滤器,如AVIdecompressor或colorspace converter过滤器b/w InfTee和VMR 连接继续进行 直到InfTee输出引脚的DecideAllocator()函数 打电话。此函数具有以下代码:

我有一个类似于源-->输入-->VMR7/VMR9的过滤图

当我连接类似于源-->VMR7/VMR9的图形时,图形工作正常,但一旦插入InfTee 在源和VMR之间进行筛选然后我发现infte筛选器的o/p引脚和VMR的I/p引脚之间的引脚连接有问题。 我不想添加任何其他过滤器,如AVIdecompressor或colorspace converter过滤器b/w InfTee和VMR

连接继续进行 直到InfTee输出引脚的DecideAllocator()函数 打电话。此函数具有以下代码:

hr=pPin->NotifyAllocator(pTee->m_pAllocator,TRUE)

NotifyAllocator返回E_FAIL

这里,pPin是接收引脚(VMR的输入引脚)和pTee->m_定位器 将从输入管脚接收的分配器信息存储在其自己的 NotifyAllocator()实现

我在网上查了一下,发现问题出在InfTee过滤器上,因为它是哑的,但并没有得到任何正确的解决方案


有人能帮我吗?

VMR-7、VMR-9、EVR-所有渲染器都“坚持”使用自己的内存分配器,由视频表面的内存支持。这些分配器有特定的要求。您无法更改此行为

另一方面,InfTee“坚持”自己的输出管脚内存分配器,并在输出管脚之间共享它,因此在T’ing提要时不会发生数据复制(这就是您所说的“哑性质”)

你们不能让它一起工作,你们需要一个额外的过滤器,将数据从tee复制到视频渲染器的内存中。就性能而言,最理想的是一个定制的转换过滤器,它可以复制数据,并考虑到扩展的步幅。没有它,您就有一个最接近的库存/注册过滤器来达到相同的目的