AM_SAMPLE2_PROPERTIES 구조체(strmif.h)

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

AM_SAMPLE2_PROPERTIES 구조는 미디어 샘플의 속성을 설명합니다. IMediaSample2 인터페이스는 이 구조를 사용합니다.

구문

typedef struct tagAM_SAMPLE2_PROPERTIES {
  DWORD          cbData;
  DWORD          dwTypeSpecificFlags;
  DWORD          dwSampleFlags;
  LONG           lActual;
  REFERENCE_TIME tStart;
  REFERENCE_TIME tStop;
  DWORD          dwStreamId;
  AM_MEDIA_TYPE  *pMediaType;
  BYTE           *pbBuffer;
  LONG           cbBuffer;
} AM_SAMPLE2_PROPERTIES;

멤버

cbData

속성 데이터의 길이(바이트)입니다. 이 구조체 멤버는 확장성을 위한 것입니다.

dwTypeSpecificFlags

형식별 플래그입니다. 플래그는 각 미디어 유형에 대해 별도로 정의됩니다. 기본값은 AM_VIDEO_FLAG_INTERLEAVED_FRAME(0)입니다. 다음 플래그는 비디오 스트림에 사용됩니다. 헤더 파일 dvdmedia.h에 정의됩니다.

플래그 의미
AM_VIDEO_FLAG_FIELD_MASK
0x0003
이 마스크를 사용하여 샘플이 필드인지 프레임인지를 검사.
AM_VIDEO_FLAG_INTERLEAVED_FRAME
0x0000
샘플은 프레임입니다. (AM_VIDEO_FLAG_FIELD_MASK 비트 마스크를 사용하여 이 값을 테스트합니다.)
AM_VIDEO_FLAG_FIELD1
0x0001
샘플은 필드 1입니다. (AM_VIDEO_FLAG_FIELD_MASK 비트 마스크를 사용하여 이 값을 테스트합니다.)
AM_VIDEO_FLAG_FIELD2
0x0002
샘플은 필드 2입니다. (AM_VIDEO_FLAG_FIELD_MASK 비트 마스크를 사용하여 이 값을 테스트합니다.)
AM_VIDEO_FLAG_FIELD1FIRST
0x0004
이 플래그가 설정되면 먼저 필드 1을 표시합니다. 그렇지 않으면 먼저 필드 2를 표시합니다. (샘플당 두 개의 필드가 있는 경우에만 적용됩니다.)
AM_VIDEO_FLAG_WEAVE
0x0008
이 플래그가 설정된 경우 직조 모드(즉, 샘플을 디인터레이스하지 않음)를 사용합니다. 그렇지 않으면 bob 모드를 사용합니다. 이 플래그는 샘플당 두 개의 필드가 있는 경우에만 적용됩니다.
AM_VIDEO_FLAG_REPEAT_FIELD
0x0040
이 플래그가 설정되면 두 번째 필드를 표시한 후 첫 번째 필드를 다시 표시합니다. (샘플당 두 개의 필드가 있는 경우에만 적용됩니다.)
AM_ReverseBlockStart
0x2
DVD 비디오를 역방향으로 재생하는 동안 VOBU의 시작을 알릴 수 있습니다. 자세한 내용은 Windows Vista의 DVD 재생 개선 사항을 참조하세요.
AM_ReverseBlockEnd
0x4
DVD 비디오를 역방향으로 재생하는 동안 VOBU의 끝을 알릴 수 있습니다. DVD 탐색기는 빈 샘플에서 이 플래그를 설정하여 VOBU의 끝을 알릴 수 있습니다. 자세한 내용은 Windows Vista의 DVD 재생 개선 사항을 참조하세요.
AM_UseNewCSSKey
0x1
DVD 재생의 경우 는 디코더가 새 CSS(콘텐츠 스크램블 시스템) 키를 적용해야 하는 시점을 스트림에서 나타냅니다.

DVD 탐색기는 CSS 타이틀 키를 재협상하기 직전에 빈 미디어 샘플에서 이 플래그를 설정합니다.

이전에는 DVD 탐색기가 디스크 키를 협상하기 전에 이 키를 잘못 보냈습니다. Windows 7부터 디코더의 AM_PROPERTY_DVDCOPY_SUPPORTS_NEW_KEYCOUNT 속성이 TRUE를 반환하는 경우 DVD 탐색기는 디스크 키를 협상하기 전에 이 플래그를 보내지 않습니다. DVD 복사 보호 속성 집합을 참조하세요.

 

다른 플래그는 정의되어 있지만 현재 사용되지 않습니다. dvdmedia.h를 참조하세요.

dwSampleFlags

의 비트 조합은 AM_SAMPLE_PROPERTY_FLAGS 열거된 데이터 형식에 플래그를 지정합니다. 정의되지 않은 비트는 예약되어 있으며 0이어야 합니다.

lActual

버퍼에 있는 유효한 데이터의 길이입니다.

tStart

시작 시간(유효한 경우)입니다. dwSampleFlags 멤버는 이 멤버가 유효한지 여부를 지정합니다.

tStop

중지 시간(유효한 경우). dwSampleFlags 멤버는 이 멤버가 유효한지 여부를 지정합니다.

dwStreamId

Stream 식별자입니다. 값이 AM_STREAM_MEDIA 스트림에 미디어 데이터가 포함됩니다. 값이 AM_STREAM_CONTROL 스트림에는 제어 정보가 포함됩니다. 애플리케이션은 자체 용도로 0x80000000 이상의 값을 정의할 수 있습니다. ( AM_SAMPLE_PROPERTY_FLAGS 참조하세요.)

pMediaType

형식이 변경된 경우 미디어 형식을 지정하는 AM_MEDIA_TYPE 구조체에 대한 포인터입니다. 이 형식이 변경되지 않은 경우 이 멤버는 NULL입니다.

pbBuffer

샘플 버퍼에 대한 포인터입니다.

cbBuffer

샘플 버퍼의 크기(바이트)입니다.

요구 사항

요구 사항
헤더 strmif.h(Dshow.h 포함)

추가 정보

DirectShow 구조체