Share via


IMPEG2StreamIdMap::MapStreamId メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/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

こちらもご覧ください

エラーコードと成功コード

IMPEG2StreamIdMap インターフェイス