Microsoft DirectX 8.0 |
このインターフェイスは、任意のメディア タイプのマルチメディア ストリームを作成するメソッドを提供する。作成するマルチメディア ストリームのフォーマットが、ほかの Microsoft® DirectShow® マルチメディア ストリーミング インターフェイスでサポートされていない場合は、このインターフェイスを使用する。
このインターフェイスは、IMediaStream インターフェイスを継承する。
注意 : ビデオ ストリームには、このインターフェイスの代わりに IDirectDrawMediaStream インターフェイスを使用する。オーディオ ストリームには、IAudioMediaStream インターフェイスを使用する。
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IMediaStream メソッド 説明 GetMultiMediaStream 指定されたメディア ストリームが格納されたマルチメディア ストリームへのポインタを取得する。 GetInformation ストリームの目的 ID とメディア タイプを取得する。 SetSameFormat メディア ストリームを直前のストリームと同じフォーマットに設定する。 AllocateSample 現在のメディア ストリームに新しいストリーム サンプル オブジェクトを割り当てる。 CreateSharedSample 既存サンプルと同じバッキング オブジェクトを共有する新しいストリーム サンプルを作成する。 SendEndOfStream 現在のストリームを強制終了する。現在のストリームが書き込み可能でない場合、このメソッドの呼び出しは効果がない。 IAMMediaTypeStream メソッド 説明 GetFormat ストリームのフォーマットを取得する。 SetFormat ストリームのフォーマットを設定する。 CreateSample ストリーム サンプルを作成し、オプションでサンプル バッファを指定する。 GetStreamAllocatorRequirements ストリームのアロケータ要件を取得する。現在、このメソッドは実装されていない。 SetStreamAllocatorRequirements ストリームのアロケータ要件を設定する。現在、このメソッドは実装されていない。
ストリーム サンプルを作成し、オプションでサンプル バッファを指定する。
構文
HRESULT CreateSample( long lSampleSize, BYTE *pbBuffer, DWORD dwFlags, IUnknown *pUnkOuter, IAMMediaTypeSample **ppAMMediaTypeSample );
パラメータ
- lSampleSize
- [in] サンプルのサイズ。
- pbBuffer
- [in] [optional] サンプル データが格納されたバイト配列へのポインタ、または NULL。
- dwFlags
- [in] 予約済み。
- pUnkOuter
- [in] [optional] ストリーム サンプルを集成するオブジェクトの IUnknown インターフェイスへのポインタ。
- ppAMMediaTypeSample
- [in] 作成されたサンプルへのポインタを受け取る IAMMediaTypeSample インターフェイス ポインタのアドレス。
戻り値
次のいずれかの値を返す。
E_OUTOFMEMORY メモリ不足。 E_POINTER NULL ポインタ引数。 S_OK 成功。
注意
pUnkOuter が NULL でない場合、新しいストリーム サンプルは指定されたオブジェクトに集成される。サンプルを受け取るフィルタは、集成したオブジェクトでサポートされるインターフェイスを、そのサンプルに照会できる。
ストリームのフォーマットを取得する。
構文
HRESULT GetFormat( AM_MEDIA_TYPE *pMediaType, DWORD dwFlags );
パラメータ
- pMediaType
- [out] ストリームのフォーマットを受け取る AM_MEDIA_TYPE 構造体へのポインタ。
- dwFlags
- [in] 予約済み。
戻り値
次のいずれかの値を返す。
MS_E_NOSTREAM このオブジェクトにはストリームが関連付けられていない。 S_OK 成功。
ストリームのアロケータ要件を取得する。現在、このメソッドは実装されていない。
構文
HRESULT GetStreamAllocatorRequirements( ALLOCATOR_PROPERTIES *pProps );
パラメータ
- pProps
- [out] ストリームのアロケータ要件を受け取る ALLOCATOR_PROPERTIES 構造体へのポインタ。
戻り値
E_FAIL を返す。
ストリームのフォーマットを設定する。
構文
HRESULT SetFormat( AM_MEDIA_TYPE *pMediaType, DWORD dwFlags );
パラメータ
- pMediaType
- [in] ストリームのフォーマットが格納された AM_MEDIA_TYPE 構造体へのポインタ。
- dwFlags
- [in] 予約済み。
戻り値
次のいずれかの値を返す。
MS_E_SAMPLEALLOC ストリームが既に別のメディア タイプのサンプルを割り当てた。 S_OK 成功。
ストリームのアロケータ要件を設定する。現在、このメソッドは実装されていない。
構文
HRESULT SetStreamAllocatorRequirements( ALLOCATOR_PROPERTIES *pProps );
パラメータ
- pProps
- [in] ストリームのアロケータ要件が格納された ALLOCATOR_PROPERTIES 構造体へのポインタ。
戻り値
E_FAIL を返す。