IMPEG2StreamIdMap::MapStreamId メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]
メソッドはMapStreamId
、MPEG-2 プログラム ストリーム内の基本ストリームのStream ID をメディア コンテンツ タイプとサブストリーム フィルタリング情報にマップします。
構文
HRESULT MapStreamId(
[in] ULONG ulStreamId,
[in] DWORD MediaSampleContent,
[in] ULONG ulSubstreamFilterValue,
[in] int iDataOffset
);
パラメーター
[in] ulStreamId
PES ストリームのストリーム ID。
[in] MediaSampleContent
ストリームの内容を指定します。 現在サポートされている唯一の値はMPEG2_PROGRAM_ELEMENTARY_STREAMです (axextend.idl で0x00000001として定義されます)。
[in] ulSubstreamFilterValue
ダウンストリーム デコーダーに渡すこの基本ストリーム内のサブストリームを指定します。 有効なフィルター値を含めることができるのは、下位バイトのみです。 iDataOffset = 0 の場合、このパラメーターは無視されます。
[in] iDataOffset
サブストリームが開始されるペイロードへのバイト オフセット。
戻り値
成功した場合はS_OKを返します。 メソッドが失敗した場合は、エラー コードが返されます。 MEDIA_PROGRAM_STREAM_MAP、MEDIA_PROGRAM_DIRECTORY_PES_PACKET、またはMEDIA_PROGRAM_PACK_HEADERのStream ID が試行された場合、このメソッドはE_NOTIMPLを返します。
注釈
このメソッドによってマップされるStream ID は、PES ヘッダーのストリーム ID です。 サブストリーム フィルタリングは、1 つのオーディオ ストリームに複数のチャネルを提供するために最も一般的に使用されます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |