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 に答える