Поделиться через


Метод IMPEG2StreamIdMap::MapStreamId (strmif.h)

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

Метод MapStreamId сопоставляет идентификатор Stream элементарного потока в потоке программы MPEG-2 с типом содержимого мультимедиа и сведениями о фильтрации подпотока.

Синтаксис

HRESULT MapStreamId(
  [in] ULONG ulStreamId,
  [in] DWORD MediaSampleContent,
  [in] ULONG ulSubstreamFilterValue,
  [in] int   iDataOffset
);

Параметры

[in] ulStreamId

Идентификатор потока PES.

[in] MediaSampleContent

Указывает содержимое потока. В настоящее время поддерживается только MPEG2_PROGRAM_ELEMENTARY_STREAM (определяется как 0x00000001 в axextend.idl).

[in] ulSubstreamFilterValue

Указывает, какой подпоток в этом элементарном потоке передается нижестоящему декодеру. Допустимое значение фильтра может содержать только байт низкого порядка. Если iDataOffset = 0, этот параметр игнорируется.

[in] iDataOffset

Смещение байтов в полезных данных, с которых начинается подпоток.

Возвращаемое значение

В случае успешного выполнения возвращает S_OK. Если метод завершается сбоем, возвращается код ошибки. При попытке Stream идентификатора MEDIA_PROGRAM_STREAM_MAP, MEDIA_PROGRAM_DIRECTORY_PES_PACKET или MEDIA_PROGRAM_PACK_HEADER этот метод возвращает E_NOTIMPL.

Комментарии

Идентификатор Stream, сопоставленный этим методом, является идентификатором потока в заголовке PES. Фильтрация подпотоков чаще всего используется для предоставления нескольких каналов в одном аудиопотоке.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header strmif.h (включая Dshow.h)
Библиотека Strmiids.lib

См. также раздел

Коды ошибок и успешного выполнения

Интерфейс IMPEG2StreamIdMap