我想编码桌面复制API帧,以便在使用Media对其进行编码后通过网络发送。当我调用IMFTransform::ProcessInput时,我遇到了一个E_NOTIMPL错误,让我有点不知所措。
到目前为止,我已经完成了这些步骤,我正在详细说明这些步骤,因为我花了几天的时间从网络上的稀少的零散信息中收集所有的信息,所以如果这个问题解决了,它将有希望帮助到其他人。下面的所有内容都有一个S_OK:
在所有这些之后,我使用上面创建的IMFSample调用MFTransform::ProcessInput,并将"E_NOTIMPL未实现“作为HRESULT。我已经读到应该将IMFDXGIDeviceManager设置为上面的IMFTransform编码器,所以我使用了以下方法:
在最后一步中,我在我的HRESULT上得到了另一个"E_NOTIMPL未实现“,在那里,我不知道我做错了什么,也不知道需要做什么。
发布于 2019-06-03 21:09:17
首先要做的是检查编码器是否为觉知。
我认为没有,读到这个:经理
如果MFT不支持此消息,则应返回E_NOTIMPL。
但有一件事很奇怪:DirectX表面缓冲器
调用IMFMediaBuffer::Lock。通常不建议这样做,因为它迫使对象从Direct3D图面复制内存,然后再返回。
ProcessInput应该能工作的。
https://stackoverflow.com/questions/56406825
复制相似问题