フィルターの実装 (QFilter)

IMediaFilter の実装

  • Stop()
  • Pause()
  • Run()

ストリーミング状態の状態遷移を行う。

ストリーミングスレッドの作成・解放等の処理を実装する。

ストリーミング状態の取得。

同期ソースの設定。本案件では、特別な考慮は必要なし。

IBaseFilter の実装

フィルターが備えるピンを返す。

本フィルターでは、固定的な2つの出力ピンを持つ。

フィルターの情報を返す。

フィルターグラフへの参加・離脱を処理する。

IMediaSeeking の実装

シーク機能のサポートを実現する。

シーク機能に関する情報を返す。本フィルターでは、もっとも基本的な機能のみをサポートする。

コンテンツの再生時間を返す。

インプリメントしない。

シークを行う。

開始タイムの設定のみを実装する。ストリーミングスレッドが開始されていたときは、再生位置 の変更を通知する。

インプリメントしない。

IAMFilterMiscFlags の実装

フィルターグラフは、ソースフィルターとレンダラーフィルターを識別するために、 IAMFilterMiscFlags インターフェイスを使用する。

ソースフィルターであることを示す AM_FILTER_MISC_FLAGS_IS_SOURCE を返す。