0

. 大家好?

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

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

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

其次,我们需要对接收到的数据进行解密。因为文件被加密了。

结果,读取序列如下。

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

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

请帮我。谢谢你。

4

1 回答 1

0

如果你实现 IMFByteStream,你也必须实现 IMFAsyncCallback。

我不能在这里解释。但是当我将使用 Mpeg2 源更新我的项目时:MFNode

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

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

于 2013-12-01T22:09:44.493 回答