次のダイアグラムは、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)