CImageAllocator クラス
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
クラスは CImageAllocator
、GDI デバイスに依存しないビットマップ (DIB) を管理するアロケーターを実装します。 このクラスは 、CBaseAllocator クラスから派生します。
CImageSample クラスを使用して実装されるメディア サンプルを作成します。
アロケーターは 2 つの接続されたピンで共有されますが、接続内のフィルターの 1 つによって常に所有されます。 を使用 CImageAllocator
するフィルターでは、アロケーターが単独で提供されたか、もう一方のフィルターによって提供されたかを追跡する必要があります。 アロケーターが単独で提供された場合、所有フィルターは、アロケーターからのすべてのメディア サンプルが CImageSample オブジェクトであるという事実に依存できます。 したがって、 CImageSample オブジェクトを使用して、DIBDATA 構造体に格納されている DIB に関する情報を取得できます。
所有フィルターは、メディアの種類が変更されるたびに NotifyMediaType を呼び出す必要があります。
保護されたメンバー変数 | 説明 |
---|---|
m_pFilter | 所有フィルターへのポインター。 |
m_pMediaType | 現在のメディアの種類へのポインター。 |
プロテクト メソッド | 説明 |
Alloc | バッファーのメモリを割り当てます。 |
CheckSizes | 現在のメディアの種類に対してアロケーター プロパティを確認します。 |
CreateDIB | DIB を作成します。 |
CreateImageSample | メディア サンプルを作成します。 仮想。 |
Free | すべてのバッファー メモリを解放します。 |
パブリック メソッド | 説明 |
CImageAllocator | コンストラクター メソッド。 |
NotifyMediaType | 現在のメディアの種類をオブジェクトに通知します。 |
IMemAllocator メソッド | 説明 |
SetProperties | 割り当てるバッファーの数と各バッファーのサイズを指定します。 |
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|