DirectShow DirectShow 레퍼런스 DirectShow 의 열거형 AM_SAMPLE_PROPERTY_FLAGS   [목차열람] [주소복사] [슬롯비우기]
AM_SAMPLE_PROPERTY_FLAGS 열거
 
Microsoft DirectX 9.0

AM_SAMPLE_PROPERTY_FLAGS 열거

AM_SAMPLE2_PROPERTIES 구조체의 dwSampleFlagsdwStreamId 멤버의 값을 지정한다. 이러한 값은 미디어 샘플의 프로퍼티를 기술한다.

구문

enum tagAM_SAMPLE_PROPERTY_FLAGS {
    AM_SAMPLE_SPLICEPOINT        = 0x01,   
    AM_SAMPLE_PREROLL            = 0x02,   
    AM_SAMPLE_DATADISCONTINUITY  = 0x04,   
    AM_SAMPLE_TYPECHANGED        = 0x08,   
    AM_SAMPLE_TIMEVALID          = 0x10,   
    AM_SAMPLE_TIMEDISCONTINUITY  = 0x40,   
    AM_SAMPLE_FLUSH_ON_PAUSE     = 0x80,   
    AM_SAMPLE_STOPVALID          = 0x100,  
    AM_SAMPLE_ENDOFSTREAM        = 0x200,  
    AM_STREAM_MEDIA              = 0,      
    AM_STREAM_CONTROL            = 1       
};

엘리먼트

AM_SAMPLE_SPLICEPOINT

샘플은 스프라이스포인트이다 (전의 데이터를 참조하지 않고 디코드할 수 있다).

AM_SAMPLE_PREROLL

샘플은프리롤 샘플 이다.

AM_SAMPLE_DATADISCONTINUITY

이 샘플의 초기 데이터는 스프라이스포인트이다. 전의 샘플의 데이터는, 그 후에 이 샘플의 데이터가 계속되는 것을 상정하고 있지 않다. 더 자세한 정보는, 「주의」를 참조할것.

AM_SAMPLE_TYPECHANGED

샘플 타입이 변경되었다.

AM_SAMPLE_TIMEVALID

타임이 유효하다.

AM_SAMPLE_TIMEDISCONTINUITY

데이터의 타임 갭이 이 샘플의 나중에 시작된다. AM_SAMPLE2_PROPERTIES 구조체의 pbBuffer 멤버는 NULL 여도 상관없다.

AM_SAMPLE_FLUSH_ON_PAUSE

라이브 데이터만. 포즈 상태에서의 파기를 나타낸다.

AM_SAMPLE_STOPVALID

종료 타임이 유효하다.

AM_SAMPLE_ENDOFSTREAM

이 샘플의 다음에 스트림이 끝나게 되었다. 이것은, 커널 스트리밍용으로 예약되고 있어 현시점에서 Microsoft® DirectShow® 는 이것을 사용하지 않는다.

AM_STREAM_MEDIA

표준 데이터 스트림 식별자.

AM_STREAM_CONTROL

제어 스트림 식별자. 0x7FFFFFFF 를 넘는 값은, 애플리케이션 정의의 스트림을 나타낸다.

주의

AM_SAMPLE_DATADISCONTINUITY 플래그는, 현재의 미디어 샘플내의 데이터가 전의 샘플의 데이터와 연속하고 있다고는 보여지지 않는 것을 나타낸다. AM_SAMPLE_DATADISCONTINUITY 플래그가 설정된 샘플을 받은 필터는, 버퍼내의 미처리 데이터를 파기해서는 안 된다. 버퍼에 저장 되고 있는 데이터의 처리를 종료시키기 전에, 입력 데이터를 대기하고 있는 필터는, 버퍼에 저장 되고 있는 데이터를 즉석에서 처리해야 한다. 다만, 버퍼에 저장 된 데이터가 불완전한 경우는 파기되는 경우가 있다.

예를 들어, 비데오디컴프레서필터는, 2 개의 완전한 압축 비디오 프레임과 1 개의 불완전한 압축 비디오 프레임을 버퍼에 가지는 경우에, AM_SAMPLE_DATADISCONTINUITY 플래그가 설정된 미디어 샘플을 받는다. 이러한 경우, 필터는, 현재의 미디어 샘플의 데이터의 처리를 시작 하기 전에, 2 개의 완전한 프레임을 압축 해제해, 불완전한 3 번째의 프레임을 파기한다.

AM_SAMPLE_DATADISCONTINUITY 플래그는, 플래시 또는 정지에 잇고 받은 최초의 샘플로 설정된다. 게다가 소스내에서 컨텐츠가 교체되었을 때, 채널 ( 및 포맷)의 변경이 발생했을 때, 또는 스트림의 중단이 원인으로 데이터가 없어졌을 때는, AM_SAMPLE_DATADISCONTINUITY 플래그를 사용할 필요가 있다.

AM_SAMPLE_DATADISCONTINUITY 플래그는, S_OK 를 돌려주는 IMediaSample::IsDiscontinuity 메서드에 상당한다.

참조

↑TOP