如何自定义IMFByteStream?

时间:2013-08-07 02:12:29

标签: windows sdk ms-media-foundation

。大家好吗?

我想自定义IMFByteStream接口,但我遇到了一些问题。

在解释我的问题之前,描述了如何从我所拥有的东西中创造出来。

首先,自定义IMFByteStream具有使用MFCreateFile方法创建的IMFByteStream实例。因此,我们需要实现必要的(例如,BeginRead,Read等)。

其次,我们需要解密到收到的数据。因为文件已加密。

结果,读取序列如下。

CustomByteStream :: BeginRead() - > CustomByteStream :: Read() - > IMFByteStream :: Read() - > CustomByteStream :: Decrypt() - >传递解密数据。

但是,我不知道如何传递数据。我应该使用AsyncResult还是AsyncCallback?我不知道怎么做。

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:0)

如果实现IMFByteStream,则还必须实现IMFAsyncCallback。

我在这里无法解释。但是当我用Mpeg2源更新我的项目时:MFNode

您将看到IMFByteStream的实现。我使用它是因为原始IMFByteStream在一些视频文件上没有任何理由失败。我的实现适用于我测试过的所有文件。 (现在我的实现不处理大文件。)

编辑:我检查了我的代码。我没有实现IMFByteStream。我创建了一个类似于IMFByteStream的类。我为BeginRead / EndRead实现了IMFAsyncCallback。