MediaFrame の基盤となるデータへのアクセスを提供する。
このオブジェクトは、関連する MediaFrame のピクセルデータにアクセスするために必要な情報を含む。すなわち、cv::MediaFormat で定義されているとおり、各画像プレーンのポインタの配列とストライド(各プレーン行間の距離、バイト単位)である。MediaFrame には最大4つの画像プレーンが存在しうる。
MediaFrame::access() に渡される MediaFrame::Access フラグに応じて、MediaFrame::View は読み取り専用または書き込み専用になりうる。
親 MediaFrame に関連付けられた MediaFrame::IAdapter の実装に応じて、MediaFrame::Access::R フラグでメモリに書き込んでも効果がない、または未定義動作を引き起こすことがある。MediaFrame::Access::W フラグでメモリを読み取る場合も同様である。この場合も IAdapter の実装に応じて、ビューがアクセスを提供するホスト側バッファには現在のデータが格納されていないことがある(そのため、バッファ内容のその場での編集が不可能なことがある)。
MediaFrame::View オブジェクトは慎重に扱わなければならない。MediaFrame::View オブジェクトが存在する間、MediaFrame に関連付けられた外部リソースがロックされることがあるためである。MediaFrame::View の取得は「map/unmap」イディオム(OpenCL、デバイスメモリ、リモートメモリに適用される)における「map」とみなすべきであり、その破棄は「unmap」とみなすべきである。
MediaFrame バッファが書き込みのためにアクセスされ、MediaFrame::View::Ptrs 配下のメモリが変更された場合、ホスト側とデバイス/リモートバッファのデータ同期は、MediaFrame::View が破棄されるまで保証されない。言い換えれば、デバイス上やリモートターゲット上の実データは MediaFrame::View の破棄時にのみ更新されることがある。ただし、これは関連する MediaFrame::IAdapter の実装に依存する。