다음을 통해 공유


MPEG2_TRANSPORT_STRIDE 구조체

[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

구조체는 MPEG2_TRANSPORT_STRIDE MPEG-2 TS(전송 스트림) 패킷의 형식을 설명합니다. 이 구조를 사용하면 188바이트 전송 패킷이 연속되지 않는 전송 스트림을 사용할 수 있습니다. 이 설명서의 목적을 위해 이러한 패킷을 보폭 패킷이라고 합니다.

Stride 패킷은 다음 미디어 유형으로 식별됩니다.

레이블
주 유형 MEDIATYPE_Stream
Subtype MEDIASUBTYPE_MPEG2_TRANSPORT_STRIDE
형식 형식 FORMAT_None

 

형식 블록(pbFormat)은 선택 사항입니다. 형식 블록이 포함된 경우 MPEG2_TRANSPORT_STRIDE 구조체로 시작해야 합니다. 이 구조체는 stride 패킷 내에서 전송 패킷의 레이아웃을 정의합니다. 형식 블록이 NULL인 경우 패킷은 기본값 집합을 사용하는 것으로 간주됩니다. 자세한 내용은 설명 섹션을 참조하세요.

구문

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

멤버

dwOffset

패킷의 시작 부분에서 포함된 전송 패킷의 첫 번째 바이트로 오프셋(바이트)을 지정합니다. 값의 범위는 0에서 여야 (dwStride - dwPacketLength)합니다( 포함).

dwPacketLength

포함된 전송 패킷의 길이를 바이트 단위로 지정합니다. 표준 MPEG-2 전송 패킷의 경우 값은 188바이트여야 합니다.

dwStride

전체 스트라이드 패킷의 길이(바이트)를 지정합니다. 값은 적어도 (dwOffset + dwPacketLength)이어야 합니다.

설명

다음 다이어그램에서는 구조체 멤버 간의 관계를 보여 줍니다.

mpeg-2 stride 패킷

멀티플렉싱된 스트라이드 패킷을 포함하는 입력 버퍼에는 몇 가지 제한 사항이 있습니다.

  • 스트라이드 패킷은 버퍼 내에서 연속적으로 압축해야 합니다.
  • 바이트는 첫 번째 스트라이드 패킷 앞에 오거나 마지막 스트라이드 패킷을 따를 수 없습니다.
  • 정수의 보폭 패킷은 버퍼에 맞아야 합니다. 즉, 버퍼 길이 % dwStride는 0과 같습니다.

버퍼당 보폭 패킷 수에는 제한이 없습니다.

미디어 형식에 서식 블록이 없는 경우(pbFormatNULL임) 다음 기본값이 사용됩니다.

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

요구 사항

요구 사항
헤더
Bdatypes.h

추가 정보

DirectShow 구조체

MPEG-2 미디어 형식