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