。大家好吗?
我想自定义IMFByteStream接口,但我遇到了一些问题。
在解释我的问题之前,描述了如何从我所拥有的东西中创造出来。
首先,自定义IMFByteStream具有使用MFCreateFile方法创建的IMFByteStream实例。因此,我们需要实现必要的(例如,BeginRead,Read等)。
其次,我们需要解密到收到的数据。因为文件已加密。
结果,读取序列如下。
CustomByteStream :: BeginRead() - > CustomByteStream :: Read() - > IMFByteStream :: Read() - > CustomByteStream :: Decrypt() - >传递解密数据。
但是,我不知道如何传递数据。我应该使用AsyncResult还是AsyncCallback?我不知道怎么做。
请帮帮我。谢谢。
答案 0 :(得分:0)
如果实现IMFByteStream,则还必须实现IMFAsyncCallback。
我在这里无法解释。但是当我用Mpeg2源更新我的项目时:MFNode
您将看到IMFByteStream的实现。我使用它是因为原始IMFByteStream在一些视频文件上没有任何理由失败。我的实现适用于我测试过的所有文件。 (现在我的实现不处理大文件。)
编辑:我检查了我的代码。我没有实现IMFByteStream。我创建了一个类似于IMFByteStream的类。我为BeginRead / EndRead实现了IMFAsyncCallback。