データの入力と出力
[このページWindows メディア プレーヤー SDK に関連付けられている機能は、レガシ機能です。 MediaPlayer に置き換わりました。 MediaPlayer は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能な場合は SDK ではなく MediaPlayerWindows メディア プレーヤー使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
Windows メディア プレーヤーは、Windows メディア プレーヤーによって割り当てられた入力バッファーを介して DSP プラグインにオーディオまたはビデオ データを提供します。 DSP プラグインは、Windows メディア プレーヤーによっても割り当てられる出力バッファーを介して処理されたデータをWindows メディア プレーヤーに戻します。 Windows メディア プレーヤーは、プラグインによって実装されたメソッドを呼び出すことによって、それ自体と DSP プラグインの間でデータを渡すプロセスを管理します。 DirectX Media Object (DMO) として機能するプラグインの場合、このプロセスは次のように機能します。
- Windows メディア プレーヤーは IMediaObject::P rocessInput を呼び出し、IMediaBuffer オブジェクトへのポインターを DSP プラグインに渡します。
- DSP プラグインは、入力バッファー・オブジェクトの参照カウントを保持します。 DSP プラグインは、適切な成功または失敗 HRESULT を返します。
- Windows メディア プレーヤーは IMediaObject::P rocessOutput を呼び出し、(出力バッファーを含む) DMO_OUTPUT_DATA_BUFFER構造体の配列へのポインターを DSP プラグインに渡します。
- DSP プラグインは、入力バッファー内のデータを処理し、そのデータを適切な出力バッファーにコピーします。 DSP プラグインは、バッファー内のすべてのデータが処理されると、入力バッファー・オブジェクトの参照カウントを解放します。 その後、DSP プラグインは適切な成功または失敗 HRESULT を返します。
- Windows メディア プレーヤーは、出力バッファー内のコンテンツをレンダリングします。
Media Foundation Transform (MFT) として機能するプラグインの場合、このプロセスは次のように機能します。
- Windows メディア プレーヤーは IMFTransform::P rocessInput を呼び出し、IMFSample インターフェイス オブジェクトへのポインターを DSP プラグインに渡します。
- DSP プラグインは、 IMFSample インターフェイスの参照カウントを保持します。 DSP プラグインは、適切な成功または失敗 HRESULT を返します。
- Windows メディア プレーヤーは IMFTransform::P rocessOutput を呼び出し、(出力バッファーを含む) MFT_OUTPUT_DATA_BUFFER構造体の配列へのポインターを DSP プラグインに渡します。
- DSP プラグインは、入力バッファー内のデータを処理し、そのデータを適切な出力バッファーにコピーします。 DSP プラグインは、バッファー内のすべてのデータが処理されると、入力バッファー・オブジェクトの参照カウントを解放します。 その後、DSP プラグインは適切な成功または失敗 HRESULT を返します。
- Windows メディア プレーヤーは、出力バッファー内のコンテンツをレンダリングします。
このプロセスは、プラグインが有効になっており、Windows メディア プレーヤーにレンダリングするコンテンツがある間、継続的に繰り返されます。
注意
入力バッファーにデータを書き込むコードや、出力バッファーからデータを読み取るコードは記述しないでください。 データ バッファーに誤ってアクセスすると、予期しない結果が発生する可能性があります。
関連トピック
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示