次の方法で共有


MF_SOURCE_STREAM_SUPPORTS_HW_CONNECTION属性

メディア ソースがハードウェア データ フローをサポートしているかどうかを示します。

データ型

UINT32 として格納されている BOOL

解説

この属性は、メディア ソースがハードウェア デバイスをプロキシし、CPU にデータを送信することなく、ハードウェア バス経由でダウンストリームでデータを転送できる場合に使用されます。 たとえば、Web カメラは、H.264 でエンコードされたビデオを統合ハードウェア デコーダーに直接配信する場合があります。

このシナリオでは、ソースとデコーダーは、メディア ソース オブジェクトと Media Foundation 変換 (MFT) によって Microsoft Media Foundation で引き続き表されます。 ただし、次の図に示すように、パイプライン レイヤーのハードウェア レイヤーでのみ、これら 2 つのオブジェクト間のデータフローはありません。

ハードウェア プロキシ ソースを示す図。

メディア ソースと MFT の間の接続は、次のようにネゴシエートされます。

  1. パイプラインは、 IMFMediaSourceEx インターフェイスのメディア ソースに対してクエリを実行します。 (このインターフェイスは、メディア ソースがサポートする場合は省略可能です)。
  2. パイプラインは IMFMediaSourceEx::GetStreamAttributes を呼び出して IMFAttributes ポインターを取得します。
  3. MF_SOURCE_STREAM_SUPPORTS_HW_CONNECTION属性のパイプライン クエリ。 属性が存在し、 TRUE と等しい場合、メディア ソースはハードウェア接続をサポートします。
  4. パイプラインは、MFT がハードウェア プロキシでもあるかどうかを確認します。MFT の MFT_ENUM_HARDWARE_URL_Attribute 属性を確認します。 詳細については、「 ハードウェア MFT」を参照してください。
  5. パイプラインは、MFT に MFT_CONNECTED_STREAM_ATTRIBUTE 属性を設定します。 この属性の値は、手順 2 でメディア ソースから取得した IMFAttribute ポインターです。
  6. パイプラインは、メディア ソースと MFT の両方で MFT_CONNECTED_TO_HW_STREAM 属性を TRUE に設定します。

必要条件

要件
サポートされている最小のクライアント
Windows 8 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー
Windows Server 2012 [デスクトップ アプリ |UWP アプリ]
Header
Mfidl.h

こちらもご覧ください

Media Foundation 属性のアルファベット順リスト

ハードウェア MFT