メディア タイプ関数

DirectShow 基底クラスは、AM_MEDIA_TYPE 構造体を処理するためのヘルパー関数を提供する。

AM_MEDIA_TYPE 構造体には、フォーマット ブロックと呼ばれる別のメモリ ブロックへのポインタ (pbFormat メンバ) が含まれる。ただしこの構造体を使う場合は、メモリ リークを防止するために、メモリの割り当てに注意する必要がある。

以下の関数がメモリを割り当てる。

  • CreateMediaType は、新しい AM_MEDIA_TYPE 構造体およびフォーマット ブロックを割り当てる。
  • CopyMediaType は、既存の AM_MEDIA_TYPE 構造体にコピーするが、フォーマット ブロックを割り当てる。
  • CreateAudioMediaType は、既存の AM_MEDIA_TYPE 構造体を初期化し、オプションでフォーマット ブロックを割り当てる。

以下の関数がメモリを解放する。

  • FreeMediaType はフォーマット ブロックを解放する。

  • DeleteMediaType は、フォーマット ブロックを含め、AM_MEDIA_TYPE 構造体を解放する。

  • 要件

  • ヘッダー : Mtype.h 内で宣言し、Streams.h をインクルードする。

  • ライブラリ : Strmbase.lib (リテール ビルド) または Strmbasd.lib (デバッグ ビルド) を使う。

  • 関数 説明
    CopyMediaType タスク割り当て AM_MEDIA_TYPE 構造体をコピーする。
    CreateAudioMediaType ウェーブ フォーマット構造体が指定されたメディア タイプ構造体を初期化する。
    CreateMediaType 既存の AM_MEDIA_TYPE 構造体から、AM_MEDIA_TYPE 構造体を割り当ておよび 初期化する。
    DeleteMediaType タスク割り当て AM_MEDIA_TYPE 構造体を削除する。
    FreeMediaType タスク割り当て AM_MEDIA_TYPE 構造体をメモリから解放する。