COutputQueue.NewSegment メソッド
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドは NewSegment
、入力ピンに新しいセグメントを配信します。
構文
HRESULT NewSegment(
REFERENCE_TIME tStart,
REFERENCE_TIME tStop,
double dRate
);
パラメーター
-
tStart
-
セグメントの開始メディア位置 (100 ナノ秒単位)。
-
tStop
-
セグメントのメディア位置を 100 ナノ秒単位で終了します。
-
dRate
-
元のレートに対する割合として、このセグメントを処理する必要があるレート。
戻り値
HRESULT 値を返します。
解説
オブジェクトがスレッドを使用している場合は、次の項目を順番にキューに入れます。
- NEW_SEGMENT制御メッセージ。
- セグメント データ。
NEW_SEGMENT メッセージは、キューの次の項目にセグメント データが含まれていることをスレッドに通知します。 セグメント データは、次のように宣言された構造体にバンドルされます。
struct NewSegmentPacket {
REFERENCE_TIME tStart;
REFERENCE_TIME tStop;
double dRate;
};
スレッドは、 構造体で指定されたデータを使用して、入力ピンで IPin::NewSegment メソッドを呼び出します。
オブジェクトがスレッドを使用していない場合は、 COutputQueue::SendAnyway メソッドを呼び出して保留中のサンプルを配信します。 次に、入力ピンで IPin::NewSegment を呼び出します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|