メディア ソース オブジェクト モデル
このトピックでは、Microsoft Media Foundation のメディア ソースのオブジェクト モデルについて説明します。 メディア ソースは、次の 2 つのオブジェクトを実装する必要があります。
- ストリームの数や各ストリームの形式など、ソースの内容を記述するプレゼンテーション記述子。 プレゼンテーション記述子の詳細については、「 プレゼンテーション記述子」を参照してください。
- ソース データを生成する 1 つ以上のメディア ストリーム。
ソースは、再生が開始されるまでストリームを作成しません。
メディア ソース インターフェイス
メディア ソースは 、QueryInterface を介して次のインターフェイスを公開する必要があります。
インターフェイス | 説明 |
---|---|
IMFMediaSource | すべてのメディア ソースに必要です。 |
IMFMediaEventGenerator | すべてのメディア ソースに必要です。 IMFMediaSource インターフェイスは、このインターフェイスを継承します。 |
必要に応じて、メディア ソースは IMFGetService インターフェイスを実装し、次のいずれかのインターフェイスをサービスとして実装できます。
サービス インターフェイス | 説明 |
---|---|
IMFRateControl | 再生速度を制御します。 |
IMFRateSupport | サポートされている再生レートの範囲を報告します。 |
IMFQualityAdvise | 品質マネージャーがオーディオまたはビデオの品質を調整できるようにします。 |
IMFMetadataProvider | メタデータを提供します。 |
メディア ソースが通常の速度 (1.0) 以外のレートで再生できる場合は、レート制御サービス (IMFRateControl と IMFRateSupport) を公開する必要があります。 それ以外の場合は、ソースが通常の速度でのみ再生をサポートしていると見なされます。 詳細については、「 レート制御の実装」を参照してください。
サービス インターフェイスと IMFGetService の詳細については、「 サービス インターフェイス」を参照してください。
メディア ストリーム インターフェイス
メディア ストリームは、次のインターフェイスを実装する必要があります。
インターフェイス | 説明 |
---|---|
IMFMediaStream | すべてのメディア ストリームに必要です。 |
IMFMediaEventGenerator | すべてのメディア ストリームに必要です。 IMFMediaStream インターフェイスは、このインターフェイスを継承します。 |
現在、メディア ストリームに対してサービス インターフェイスは定義されていません。
関連トピック