メディアソースオブジェクトモデル

このトピックでは Microsoft メディアファンデーションのメディアソースのオブジェクトモデルについて説明します。 メディアソースは、次の2つのオブジェクトを実装する必要があります。

  • ストリームの数と各ストリームの形式を含む、ソースの内容を記述するプレゼンテーション記述子。 プレゼンテーション記述子の詳細については、「 プレゼンテーション記述子」を参照してください。
  • ソースデータを生成する1つ以上のメディアストリーム。

再生が開始されるまで、ソースはストリームを作成しません。

メディアソースインターフェイス

メディアソースは、 QueryInterface を使用して次のインターフェイスを公開する必要があります。

インターフェイス 説明
IMFMediaSource すべてのメディアソースに必要です。
IMFMediaEventGenerator すべてのメディアソースに必要です。 Imfmediasourceインターフェイスは、このインターフェイスを継承します。

必要に応じて、メディアソースは IMFGetService インターフェイスを実装し、次のインターフェイスのいずれかをサービスとして実装できます。

サービスインターフェイス 説明
IMFRateControl 再生速度を制御します。
IMFRateSupport サポートされている再生速度の範囲を報告します。
IMFQualityAdvise 品質マネージャーがオーディオまたはビデオ品質を調整できるようにします。
IMFMetadataProvider メタデータを提供します。

メディアソースが通常の速度 (1.0) 以外の速度で再生できる場合は、レート制御サービス (ImfratecontrolIMFRateSupport) を公開する必要があります。 それ以外の場合、ソースでは通常の速度での再生のみがサポートされると見なされます。 詳細については、「 レート制御の実装」を参照してください。

サービスインターフェイスと IMFGetServiceの詳細については、「 サービスインターフェイス」を参照してください。

メディアストリームのインターフェイス

メディアストリームは、次のインターフェイスを実装する必要があります。

インターフェイス 説明
IMFMediaStream すべてのメディアストリームに必要です。
IMFMediaEventGenerator すべてのメディアストリームに必要です。 Imfmediastreamインターフェイスは、このインターフェイスを継承します。

現在、メディアストリームに対して定義されているサービスインターフェイスはありません。

メディアソース