1

ストリームを 1 つだけ含む (オーディオなし) ビデオ ファイルのトポロジを作成しました。

順番に接続された 3 つのノードが含まれています。

SetTopology()を呼び出して、部分的なトポロジを許可すると、再生が機能します。ただし、トポロジ全体を自分で解決しようとしています。

したがって、最初に出力ノードをメディア シンクにバインドする必要があります。マニュアルに記載されているガイドラインに従いましたが、必要な呼び出しはすべて成功したようです。完全なトポロジを設定すると、MESessionTopologySetイベントが発生します。

残念ながら、再生は機能しませんが、エラーは発生しません。

  • 完全なトポロジを作成するときに他に必要なものはありますか?
  • msdn ドキュメントのどこかで、部分的なトポロジを設定するときに使用されるトポロジ ローダーがメディア タイプも設定することを読んだことを思い出します。これは必須ですか? 必要な場合、これに関する詳細情報はどこにありますか?
4

1 に答える 1

0

Matt Andrewsが msdn フォーラムでこれに答えてくれました

トポロジ ローダーをバイパスする場合は、必ず独自のメディア タイプをネゴシエートする必要があります。これは、IMFMediaTypeHandler からソースのメディア タイプを取得し、それをダウンストリーム トランスフォームに設定してから、チェーンの各ノードに対して、使用可能な入力および出力タイプを照会して、互換性のあるメディア タイプを見つけることを意味します。特に回避する必要がない限り、トポローダを使用する方がはるかに簡単です。

于 2012-09-19T14:44:51.723 に答える