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

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

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

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

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

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

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

 

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

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

 

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

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

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

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

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

 

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

メディア ソース