IPin::NewSegment メソッド (strmif.h)

[このページに関連付けられている機能 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

元のレートに対する割合として、このセグメントを処理する必要があるレート。

戻り値

成功した場合はS_OK、エラーの原因を示す HRESULT 値を返します。

注釈

ソース フィルター (またはパーサー フィルター) は、新しい各ストリームの開始時と各シーク操作の後に、このメソッドを呼び出します。 前のデータ バッチを配信した後、新しいデータで IMemInputPin::Receive を呼び出す前に、ダウンストリーム フィルターの入力ピンで メソッドを呼び出します。 ダウンストリーム フィルターは、呼び出しをダウンストリームに NewSegment 伝達します。

フィルターでは、セグメント情報を使用してサンプルを処理できます。 たとえば、一部の形式では、次のキー フレームなしでデルタ フレームを再構築することはできません。 したがって、デルタ フレームで停止時間が発生した場合、ソース フィルターは追加のフレームを送信する必要があります。 デコーダー フィルターは、セグメント情報に基づいて最終的なフレームを決定します。 セグメント レートは、オーディオ データなどの連続データ ソースをレンダリングするために使用されます。 たとえば、オーディオ レンダラーはサンプリング レートとセグメント レートを使用してオーディオ データを正しくレンダリングします。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

フィルター グラフのData Flow

エラーコードと成功コード

IPin インターフェイス