DirectShow DirectShow 레퍼런스 DirectShow 구조체 AM_SAMPLE2_PROPERTIES   [목차열람] [주소복사] [슬롯비우기]
AM_SAMPLE2_PROPERTIES 구조체
 
Microsoft DirectX 9.0

AM_SAMPLE2_PROPERTIES 구조체

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 (제로). 비디오 스트림에는 다음의 플래그가 사용되고 있다.

플래그 설명
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 를 최초로 표시한다 (1 개의 샘플에 대해 2 개의 필드가 있는 경우에 한정해 적용된다).
AM_VIDEO_FLAG_WEAVE 0x0008 이 플래그가 설정되어 있는 경우는, 위브모드를 사용한다 (샘플을 비인터레이스화하지 않는다). 이 플래그가 설정되지 않은 경우는, 보브모드를 사용한다. 이 플래그는, 1 개의 샘플에 대해 2 개의 필드가 있는 경우에 한정해 적용된다.
AM_VIDEO_FLAG_REPEAT_FIELD 0x0040 이 플래그가 설정되어 있는 경우는, 2 번째의 필드를 표시한 다음에 다시 최초의 필드를 표시한다 (1 개의 샘플에 대해 2 개의 필드가 있는 경우에 한정해 적용된다).

다른 플래그도 정의되고 있지만, 현재는 사용되지 않았다. dvdmedia.h 를 참조할것.

dwSampleFlags

AM_SAMPLE_PROPERTY_FLAGS 열거형의 플래그의 비트마다 편성. 미정도리의 비트는 예약되고 있어 제로가 아니면 안된다.

lActual

버퍼내의 유효한 데이터의 길이.

tStart

유효한 경우는 시작 타임. dwSampleFlags 멤버는 이 멤버가 유효한가 어떤가를 나타낸다.

tStop

유효한 경우는 종료 타임. dwSampleFlags 멤버는 이 멤버가 유효한가 어떤가를 나타낸다.

dwStreamId

스트림 식별자. 이 값이 AM_STREAM_MEDIA 의 경우, 스트림에는 미디어 데이터가 포함된다. 이 값이 AM_STREAM_CONTROL 의 경우, 스트림에는 컨트롤 정보가 포함된다. 애플리케이션은 0x80000000 이상의 값을 정의해, 애플리케이션 자신의 용도에 사용할 수 있다. 「AM_SAMPLE_PROPERTY_FLAGS 열거」를 참조할것.

pMediaType

포맷이 변경되었을 경우에, 미디어 타입을 지정하는 AM_MEDIA_TYPE 구조체의 포인터. 이 포맷이 변경되지 않을 때는, 이 멤버에는 NULL 를 지정한다.

pbBuffer

샘플 버퍼의 포인터.

cbBuffer

샘플 버퍼의 사이즈 (바이트 단위).

참조

↑TOP