次の方法で共有


COutputQueue.NewSegment メソッド

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/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 を呼び出します。

要件

要件
ヘッダー
Outputq.h (include Streams.h)
ライブラリ
Strmbase.lib (小売ビルド);
Strmbasd.lib (デバッグ ビルド)

関連項目

COutputQueue クラス