WM ASF ライター (QASF) の構成
WM ASF ライター フィルターが作成されると、WMProfile_V80_256Video プロファイルが既定として自動的に構成されます。 このプロファイルは Windows Media Audio と Windows Media Video バージョン 8 のコーデックを使用するため、Windows Media 9 シリーズ コーデックを使用するカスタム プロファイルを作成し、IConfigAsfWriter::ConfigureFilterUsingProfile メソッドを使用して IWMProfile ポインターをフィルターに渡すことが推奨されます。 フィルターを構成する前にフィルターをグラフに追加し、アップストリーム フィルターに接続する前に構成する必要があります。 フィルターはプロファイルを使用して、書き込む Windows メディア形式ファイルの種類、設定する入力ピンの数、およびピンが受け入れられるメディアの種類を決定します。
このフィルターを使用すると、新しいプロファイルに追加の入力ピンが必要ない限り、入力ピンが接続されている間にプロファイルをリセットできます。 たとえば、プロファイルを 1 入力のオーディオのみのプロファイルから 2 入力のオーディオプロファイルとビデオ プロファイルに変更した場合、オーディオ ピンのみが再接続されますすべての入力データにタイムスタンプを設定し、フィルターを実行または一時停止する前にすべての入力ピンを接続する必要があります。 つまり、オーディオ ストリームとビデオ ストリームを含むプロファイルでフィルターを構成した場合、フィルターによってオーディオとビデオ入力ピンが作成され、フィルターを実行する前に両方のピンを接続する必要があります。
データユニット拡張機能の追加
次の操作の順序に従っている限り、フィルターが接続される前または後に、SMPTE 時間コードなどのデータ ユニット拡張機能のプロファイル ストリームを構成できます。
- IWMStreamConfig2::AddDataUnitExtension を使用して、1 つ以上のデータ ユニット拡張機能をストリームに追加します。
- WMProfile::ReconfigStream を呼び出してプロファイルを更新します。
- 更新されたプロファイル オブジェクトを使用 して IConfigAsfWriter::ConfigureFilterUsingProfile を呼び出します。
- ビデオ入力ピンを見つけて、 その IAMWMBufferPass::SetNotify メソッドを呼び出して、アプリケーション定義 の IAMWMBufferPassCallback インターフェイスを登録します。
グラフを実行すると、フレームごとに IAMWMBufferPassCallback::Notify メソッドが呼び出され、 INSSBuffer3 インターフェイス メソッドを使用してサンプルのプロパティを取得および設定できます。
注意
逆テレシネなどのプロセッサを集中的に使用するシナリオでは、WM ASF ライターでは、一部のダウンストリーム フィルターでサポートできる出力バッファーよりも多くの出力バッファーが必要になる場合があります。 たとえば、DV デコーダーは、出力ピンに対して複数のバッファーを受け入れられません。また、特定の条件の AVI 圧縮解除器でも同じことが当てはまります。 これらのフィルターに接続しようとしたときに問題が発生した場合、または場合によってはグラフを実行するときに、出力ピンに任意の数のバッファーを受け入れる中間フィルターを記述する必要がある場合があります。