メディア セッションでのメディア ソースの使用
メディア セッションを使用して再生を制御する場合、メディア ソースで呼び出す必要がある一連のメソッドは制限されます。 このセクションでは、メディア ソースをメディア セッションと組み合わせて使用する方法について説明します。
アプリケーションで実行する基本的な手順を次に示します。
メディア ソースを作成します。 メディア ソースを作成するには、ソース リゾルバーを使用します。 詳細については、「 ソース リゾルバー」を参照してください。 ソース リゾルバーは、ソースの IMFMediaSource インターフェイスへのポインターを返します。 (カスタム メディア ソースを作成した場合は、代わりにカスタム作成方法を指定できます)。
プレゼンテーションを構成します。 ソースのプレゼンテーションを構成するには、 IMFMediaSource::CreatePresentationDescriptor を呼び出します。 このコピーは変更できますが、再生が開始されるまで変更はアクティブになりません。 再生中にプレゼンテーション記述子を変更しないでください。 詳細については、「 プレゼンテーション記述子」を参照してください。
メディア ソースを含むトポロジを作成します。 詳細については、「 トポロジ」を参照してください。
メディア セッションを使用して再生を制御します。 メディア セッションは、メディア ソースのメソッドを呼び出します。 現時点では、アプリケーションはメディア ソースのメソッドを呼び出さないでください。
メディア ソースを解放する前に、 IMFMediaSource::Shutdown を呼び出してソースをシャットダウンします。
Note
シーケンサー ソースを使用している場合、シーケンサー ソースはセグメント ソースのシャットダウンを処理します。 詳細については、「 Sequencer Source」を参照してください。
メディア セッションを使用する場合、メディア ソースで呼び出す必要があるメソッドは 、CreatePresentationDescriptor、 GetCharacteristics、 Shutdown のみです。 特に次の点に違いがあります。
Start、Pause、Stop を呼び出さないでください。これらのメソッドは、メディア セッションでのみ呼び出す必要があります。
IMFMediaStream メソッドは呼び出さないでください。
メディア ソースまたはストリームからイベントを直接取得しないでください。 パイプラインが正しく機能するためには、メディア セッションでこれらのイベントを受信する必要があります。 メディア セッションは、アプリケーションで必要なイベントを転送します。
関連トピック
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示