我正在使用虚拟驱动程序(Directshow过滤器),并且我使用graphedt来测试和调试过滤器。
现在我的代码仅支持320x240像素(硬编码)的分辨率。 据我所知,我需要处理GetMediaType和GetStreamCaps函数以支持其他分辨率。
两个问题:
我正在寻找一个例子,但我找不到它,也许我在我的网络搜索中使用了错误的关键字
如何使用graphedt或任何其他工具强制执行特定分辨率的请求?
答案 0 :(得分:1)
我正在寻找一个例子,但我找不到它,也许我在我的网络搜索中使用了错误的关键字
八项决议:
if(iPosition < 0) return E_INVALIDARG;
if(iPosition > 8) return VFW_S_NO_MORE_ITEMS;
[...]
pvi->bmiHeader.biWidth = 80 * iPosition;
pvi->bmiHeader.biHeight = 60 * iPosition;
如何强制使用特定分辨率的请求以使用graphedt或任何其他工具测试我的代码?
真正的应用程序将(可能)选择可用的。
GraphStudioNext提供Ctrl + Shift + M选项以在连接时选择。
否则通常按照枚举顺序选择分辨率/媒体类型,因此我用上面的链接突出显示的第237行显示了临时覆盖的方式:
if (iIndex == 0) iIndex = 4;