这是一个很长的镜头,但也许有人在那之前遇到过这个问题?
我正在构建一个拓扑结构,它在源和渲染器之间有多个接收器和一些变换(目前只有视频)。源是捕获设备(网络摄像头)。
对于未压缩的视频源,一切正常。但是,当我将源格式更改为MJPEG并在拓扑中添加相应的解码器时,我得到了E_FAIL
方法的通用MFTopoLoader::Load()
响应,而我似乎无法解析。< / p>
所有渲染器接收器都正确绑定到输出窗口(此拓扑中没有接收器编写器),源激活/配置,没有设置中间IMFMediaType
&#(我期望{{1执行此操作)。
我添加解码器的方式如下(快乐路径):
Load()
MF_TOPOLOGY_TRANSFORM_NODE
包含解码器CoCreateInstance()
和CLSID
上下文CLSCTX_INPROC_SERVER
存储解码器MFT
GetAttributes()
从解码器MFT进入节点CopyAllItems()
解码节点上的MFT 上述步骤成功,只有SetObject()
失败。
再次 - 管道工作正常,只要其中没有解码器(因此仅适用于未压缩的视频),但是一旦添加解码器,相同的代码就会失败。
我在Windows 10上运行