структура 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)
.
Комментарии
На следующей схеме показаны отношения между элементами структуры.
Входные буферы, содержащие мультиплексированные пакеты шагов, имеют некоторые ограничения:
- Пакеты шаговых шагов должны быть упакованы непрерывно в буфере.
- Байты не могут предшествовать первому пакету шага или следовать за последним пакетом шага.
- В буфере должно поместиться целое число пакетов шага; т. е. длина буфера % dwStride равна нулю.
Нет ограничений на количество пакетов шага на буфер.
Если тип носителя не содержит блок формата (pbFormat имеет значение NULL), используются следующие значения по умолчанию:
- dwOffset: 0
- dwPacketLength: 188
- dwStride: 188
Требования
Требование | Значение |
---|---|
Заголовок |
|
См. также раздел