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


структура MPEG2_TRANSPORT_STRIDE

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

Структура MPEG2_TRANSPORT_STRIDE описывает формат пакетов транспортного потока MPEG-2 (TS). Эта структура позволяет использовать потоки транспорта, в которых 188-байтовые транспортные пакеты не являются непрерывными. Для целей этой документации такие пакеты называются пакетами шага.

Пакеты шага определяются следующим типом носителя:

Метка Значение
Основной тип MEDIATYPE_Stream
Subtype MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE
Тип формата FORMAT_None

 

Блок форматирования (pbFormat) является необязательным. Если блок форматирования включен, он должен начинаться с MPEG2_TRANSPORT_STRIDE структуры. Эта структура определяет макет транспортного пакета в пакете шага. Если блок форматирования имеет значение NULL, предполагается, что пакеты используют набор значений по умолчанию; Дополнительные сведения см. в разделе Примечания.

Синтаксис

typedef struct _MPEG2_TRANSPORT_STRIDE {
  DWORD dwOffset;
  DWORD dwPacketLength;
  DWORD dwStride;
} MPEG2_TRANSPORT_STRIDE, *PMPEG2_TRANSPORT_STRIDE;

Члены

dwOffset

Задает смещение (в байтах) от начала пакета до первого байта внедренного транспортного пакета. Значение должно находиться в диапазоне от нуля до (dwStride - dwPacketLength), включительно.

dwPacketLength

Указывает длину внедренного транспортного пакета в байтах. Для стандартных транспортных пакетов MPEG-2 значение должно быть 188 байт.

dwStride

Указывает длину всего пакета шага в байтах. Значение должно быть не менее (dwOffset + dwPacketLength).

Комментарии

На следующей схеме показаны отношения между элементами структуры.

Пакет stride mpeg-2

Входные буферы, содержащие мультиплексированные пакеты шагов, имеют некоторые ограничения:

  • Пакеты шаговых шагов должны быть упакованы непрерывно в буфере.
  • Байты не могут предшествовать первому пакету шага или следовать за последним пакетом шага.
  • В буфере должно поместиться целое число пакетов шага; т. е. длина буфера % dwStride равна нулю.

Нет ограничений на количество пакетов шага на буфер.

Если тип носителя не содержит блок формата (pbFormat имеет значение NULL), используются следующие значения по умолчанию:

  • dwOffset: 0
  • dwPacketLength: 188
  • dwStride: 188

Требования

Требование Значение
Заголовок
Bdatypes.h

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

Структуры DirectShow

Типы мультимедиа MPEG-2