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 비트 마스크를 사용하여 이 값을 테스트합니다.) |
|
샘플은 필드 1입니다. (AM_VIDEO_FLAG_FIELD_MASK 비트 마스크를 사용하여 이 값을 테스트합니다.) |
|
샘플은 필드 2입니다. (AM_VIDEO_FLAG_FIELD_MASK 비트 마스크를 사용하여 이 값을 테스트합니다.) |
|
이 플래그가 설정되면 먼저 필드 1을 표시합니다. 그렇지 않으면 먼저 필드 2를 표시합니다. (샘플당 두 개의 필드가 있는 경우에만 적용됩니다.) |
|
이 플래그가 설정된 경우 직조 모드(즉, 샘플을 디인터레이스하지 않음)를 사용합니다. 그렇지 않으면 bob 모드를 사용합니다. 이 플래그는 샘플당 두 개의 필드가 있는 경우에만 적용됩니다. |
|
이 플래그가 설정되면 두 번째 필드를 표시한 후 첫 번째 필드를 다시 표시합니다. (샘플당 두 개의 필드가 있는 경우에만 적용됩니다.) |
|
DVD 비디오를 역방향으로 재생하는 동안 VOBU의 시작을 알릴 수 있습니다. 자세한 내용은 Windows Vista의 DVD 재생 개선 사항을 참조하세요. |
|
DVD 비디오를 역방향으로 재생하는 동안 VOBU의 끝을 알릴 수 있습니다. DVD 탐색기는 빈 샘플에서 이 플래그를 설정하여 VOBU의 끝을 알릴 수 있습니다. 자세한 내용은 Windows Vista의 DVD 재생 개선 사항을 참조하세요. |
|
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 포함) |