Media Foundation アーキテクチャ(1) - 2つのプログラミングモデル

公開:2013-01-31 05:31
更新:2020-02-15 04:37
カテゴリ:media foundation,audio,c++,windows,windows api

次のダイアグラムは、Media Foundation アーキテクチャの全体像を表している。

Media Foundationは2つの異なるプログラミング・モデルを提供する。1つは左側の点線内のメディアデータのためのパイプラインを使う方法である。これはDirect Showの流れを汲むものである。アプリケーションはパイプラインを作成し、Media Sessionを通じてパイプラインをコントロールする。またパイプラインからのイベントをMedia Sessionを通じて受け取り、適切な処理を行う。Data Flowと書いてあるところが実際のデータの流れである。見てわかる通り、アプリケーションはストリーミングデータを直接処理しない。図ではMedia Sessionを介してMedia Source,MFT,Media Sinkのデータが流れているけれども、より抽象的にみると、Media Source -> MFT -> Media Sinkに近い感じがする。

2つめは右側である。アプリケーションはSource Readerを通じてデータを受け取り、Sink Writerを通じてデータを書き込む。これはストリームデータに直接アクセスできるため、アプリケーションがデータを処理する場合に適している。この方法はWindows 7より利用可能となっている。

Windows 8もこの2つのプログラミングモデルを使用できる。

参考:Overview of the Media Foundation Architecture (Windows)