CDynamicOutputPin.ChangeOutputFormat メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは ChangeOutputFormat
、接続のメディアの種類を動的に変更し、新しいセグメント情報を配信します。 この変更は、フィルター グラフの実行中に発生する可能性があります。 このメソッドが呼び出されると、古いメディアの種類のサンプルを配信できません。 呼び出し元は、古いサンプルが保留中でないことを確認する必要があります。
構文
HRESULT ChangeOutputFormat(
const AM_MEDIA_TYPE *pmt,
REFERENCE_TIME tSegmentStart,
REFERENCE_TIME tSegmentStop,
double dSegmentRate
);
パラメーター
-
Pmt
-
メディアの種類を指定する AM_MEDIA_TYPE 構造体へのポインター。
-
tSegmentStart
-
セグメントの開始時刻。
-
tSegmentStop
-
セグメントの停止時間。
-
dSegmentRate
-
セグメント率。
戻り値
HRESULT 値を返します。 次の表に示す値を指定できます。
リターン コード | 説明 |
---|---|
|
成功しました。 |
|
失敗しました。 所有フィルターで CDynamicOutputPin::SetConfigInfo が呼び出されなかった可能性があります。 |
|
ピンが接続されていません。 |
解説
このメソッドは、フィルターの実行中に書式の種類を変更します。 ダウンストリーム ピンが新しい形式を受け入れる場合、再接続は必要ありません。 それ以外の場合、メソッドはピンの再接続を試みます。 メソッドが正常に形式を変更すると、新しいセグメント情報が配信されます。 このメソッドは 、CDynamicOutputPin::ChangeMediaType メソッドを呼び出して、形式の変更を実行します。
このメソッドを呼び出す前に 、CDynamicOutputPin::StartUsingOutputPin メソッドを 呼び出す必要があります。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|