Microsoft DirectX 8.0

IAMVideoControl インターフェイス

IAMVideoControl インターフェイスによって、水平方向および垂直方向へのピクチャのフリッピング、外部トリガ (ユーザーが押すカメラのボタンなど) のキャプチャを可能にするためのストリームの設定、ソフトウェアでの外部トリガのシミュレーション、および利用可能なフレーム レートのリストの取得を行うことができる。

このインターフェイスは、VideoControlFlags 列挙型のビデオ制御フラグを使用する。

フィルタによるビデオ イメージの制御またはフレーム レートの一覧の取得が必要な場合に、このインターフェイスを実装する。

また、フリッピングおよび外部トリガのキャプチャが可能なハードウェア上でアプリケーションを実行する場合にこのインターフェイスを使用する。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IAMVideoControl メソッド説明
GetCaps 基礎となるハードウェアの能力を取得する。
SetMode 操作のビデオ制御モードを設定する。
GetMode 操作のビデオ制御モードを取得する。
GetCurrentActualFrameRate デバイスがストリーミングしている実際のフレーム レートを取得する。このメソッドは、USB (Universal Serial Bus)、IEEE 1394 シリアル通信規格対応カメラなど、利用可能な帯域幅によって最大フレーム レートが制限されるデバイスと共に使用する。このメソッドは、ビデオ ストリーミング中にのみ使用できる。
GetMaxAvailableFrameRate USB、IEEE 1394 対応カメラ デバイスなど、利用可能な帯域幅によって最大フレーム レートが制限される接続のバス帯域幅の使用率に基づいて、現在利用可能な最大フレーム レートを取得する。
GetFrameRateList 利用可能なフレーム レートのリストを取得する。

IAMVideoControl::GetCaps

IAMVideoControl インターフェイス

基礎となるハードウェアの能力を取得する。

構文

HRESULT GetCaps (

  IPin *pPin,
  long *pCapsFlags
  );

パラメータ

pPin
[in] 能力の照会対象となるピンへのポインタ。
pCapsFlags
[out] VideoControlFlags 列挙型のフラグの組み合わせを表す値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

注意

取得できる能力には、水平方向へのピクチャのフリッピング、垂直方向へのピクチャのフリッピング、外部トリガの有効化、および外部トリガのシミュレーションのうち、1 つまたは複数が含まれる。

IAMVideoControl::GetCurrentActualFrameRate

IAMVideoControl インターフェイス

実際のフレーム レートを取得する。フレーム レートは 100 ナノ秒単位のフレーム時間幅として表される。USB (Universal Serial Bus) および IEEE 1394 対応カメラの場合、利用可能な帯域幅によって、要求よりもフレーム レートが低くなる場合がある。このメソッドは、ビデオ ストリーミング中にのみ使用できる。

構文

HRESULT GetCurrentActualFrameRate (

  IPin *pPin,
  LONGLONG *ActualFrameRate
  );

パラメータ

pPin
[in] フレーム レートの取得対象となるピンへのポインタ。
ActualFrameRate
[out] 100 ナノ秒単位のフレーム時間幅で表されるフレーム レートへのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

IAMVideoControl::GetFrameRateList

IAMVideoControl インターフェイス

利用可能なフレーム レートのリストを取得する。

構文

HRESULT GetFrameRateList (

  IPin *pPin,
  long iIndex,
  SIZE Dimensions,
  long *ListSize,
  LONGLONG **FrameRates
  );

パラメータ

pPin
[in] フレーム レートのリストの照会対象となるピンへのポインタ。
iIndex
[in] フレーム レートの照会対象となるフォーマットのインデックス。このインデックスは、フォーマットが IAMStreamConfig::GetStreamCaps で列挙される順序に対応している。値の範囲は、0 から IAMStreamConfig::GetNumberOfCapabilities メソッドが返すサポートされている VIDEO_STREAM_CONFIG_CAPS 構造体の数から 1 を減算した値までである。
Dimensions
[in] フレーム イメージのピクセル単位のサイズ (幅と高さ)。
ListSize
[out] フレーム レートのリスト内の要素数へのポインタ。
FrameRates
[out] 100 ナノ秒単位のフレーム レートの配列へのポインタのアドレス。ListSize だけを必要とする場合は、このデータは NULL になる可能性がある。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

注意

呼び出し元は、CoTaskMemFree を呼び出してメモリを解放する必要がある。

IAMVideoControl::GetMaxAvailableFrameRate

IAMVideoControl インターフェイス

USB、IEEE 1394 対応カメラ デバイスなど、利用可能な帯域幅によって最大フレーム レートが制限される接続に対するバス帯域幅の使用率に基づいて、現在利用可能な最大フレーム レートを取得する。

構文

HRESULT GetMaxAvailableFrameRate(

  IPin *pPin,
  long iIndex,
  SIZE Dimensions,
  LONGLONG *MaxAvailableFrameRate
  );

パラメータ

pPin
[in] 最大フレーム レートの取得対象となるピンへのポインタ。
iIndex
[in] 最大フレーム レートを照会対象となるフォーマットのインデックス。このインデックスは、フォーマットが IAMStreamConfig::GetStreamCaps で列挙されている順序に対応している。値の範囲は、0 から IAMStreamConfig::GetNumberOfCapabilities メソッドが返すサポートされている VIDEO_STREAM_CONFIG_CAPS 構造体の数から 1 を減算した値までである。
Dimensions
[in] フレーム イメージのピクセル単位のサイズ (幅と高さ)。
MaxAvailableFrameRate
[out] 利用可能な最大フレーム レートへのポインタ。フレーム レートは、100 ナノ秒単位のフレーム時間幅として表される。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

IAMVideoControl::GetMode

IAMVideoControl インターフェイス

操作のビデオ制御モードを取得する。

構文

HRESULT GetMode (

  IPin *pPin,
  long *Mode
  );

パラメータ

pPin
[in] ビデオ制御モードの取得対象となるピンへのポインタ。
Mode
[out] ビデオ制御モードを指定する VideoControlFlags 列挙型のフラグの組み合わせを表す値へのポインタ。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

注意

取得できる操作モードには、水平方向へのピクチャのフリッピング、垂直方向へのピクチャのフリッピング、外部トリガの有効化、および外部トリガのシミュレーションのうち、1 つまたは複数が含まれる。

IAMVideoControl::SetMode

IAMVideoControl インターフェイス

操作のビデオ制御モードを設定する。

構文

HRESULT SetMode (

  IPin *pPin,
  long Mode
  );

パラメータ

pPin
[in] ビデオ制御モードの設定対象となるピンへのポインタ。
Mode
[in] ビデオ制御モードを設定する VideoControlFlags 列挙型のフラグの組み合わせを指定する値。

戻り値

インターフェイスの実装に応じた HRESULT 値を返す。

注意

取得できる操作モードには、水平方向へのピクチャのフリッピング、垂直方向へのピクチャのフリッピング、外部トリガの有効化、および外部トリガのシミュレーションのうち、1 つまたは複数が含まれる。