Share via


tagAM_SAMPLE_PROPERTY_FLAGS 열거형(strmif.h)

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

AM_SAMPLE2_PROPERTIES 구조체의 값을 지정합니다. 이러한 값은 미디어 샘플의 속성을 설명합니다.

Syntax

typedef enum tagAM_SAMPLE_PROPERTY_FLAGS {
  AM_SAMPLE_SPLICEPOINT = 0x1,
  AM_SAMPLE_PREROLL = 0x2,
  AM_SAMPLE_DATADISCONTINUITY = 0x4,
  AM_SAMPLE_TYPECHANGED = 0x8,
  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
값: 0x1
샘플은 스플라이스 지점입니다(이전 데이터에 대한 참조 없이 디코딩할 수 있습니다).
AM_SAMPLE_PREROLL
값: 0x2
샘플은 사전 등록 샘플입니다.
AM_SAMPLE_DATADISCONTINUITY
값: 0x4
이 샘플의 초기 데이터는 스플라이스 지점입니다. 이전 샘플의 데이터는 이 샘플의 데이터 뒤에 오는 것이 아닙니다. 자세한 내용은 설명 부분을 참조하세요.
AM_SAMPLE_TYPECHANGED
값: 0x8
샘플 형식이 변경되었습니다.
AM_SAMPLE_TIMEVALID
값: 0x10
시간은 유효합니다.
AM_SAMPLE_TIMEDISCONTINUITY
값: 0x40
데이터의 시간 간격은 이 샘플 이후에 시작됩니다. 이 경우 AM_SAMPLE2_PROPERTIES 구조체는 NULL일 수 있습니다.
AM_SAMPLE_FLUSH_ON_PAUSE
값: 0x80
라이브 데이터에만 해당합니다. 는 일시 중지된 상태에서 삭제됨을 나타냅니다.
AM_SAMPLE_STOPVALID
값: 0x100
중지 시간이 유효합니다.
AM_SAMPLE_ENDOFSTREAM
값: 0x200
스트림의 끝은 이 샘플 이후에 발생합니다. 이 플래그는 커널 스트리밍용으로 예약되어 있습니다. DirectShow는 현재 사용하지 않습니다.
AM_STREAM_MEDIA
값: 0
일반 데이터 스트림 식별자입니다.
AM_STREAM_CONTROL
값: 1
스트림 식별자를 제어합니다. 0x7FFFFFFF보다 큰 값은 애플리케이션 정의 스트림을 나타냅니다.

설명

AM_SAMPLE_DATADISCONTINUITY 플래그는 현재 미디어 샘플의 데이터가 이전 샘플의 데이터와 연속된 것으로 간주되지 않음을 나타냅니다. AM_SAMPLE_DATADISCONTINUITY 플래그가 설정된 샘플을 수신하는 필터는 버퍼에서 처리되지 않은 데이터를 삭제해서는 안 됩니다. 버퍼링된 데이터를 처리하기 전에 들어오는 데이터를 기다리는 필터는 버퍼링된 데이터를 즉시 처리해야 합니다. 따라서 버퍼링된 데이터는 불완전한 경우 삭제될 수 있습니다.

예를 들어 비디오 압축 해제기 필터는 두 개의 완전한 압축된 비디오 프레임과 하나의 불완전한 압축 비디오 프레임이 버퍼에 있는 경우 AM_SAMPLE_DATADISCONTINUITY 플래그가 설정된 미디어 샘플을 받을 수 있습니다. 이 경우 필터는 두 개의 전체 프레임의 압축을 풀고 불완전한 세 번째 프레임을 삭제한 후 현재 미디어 샘플에서 데이터를 처리하기 시작합니다.

AM_SAMPLE_DATADISCONTINUITY 플래그는 플러시 또는 중지 후 받은 첫 번째 샘플에 설정됩니다. 또한 원본에서 콘텐츠를 전환할 때, 채널 변경이 발생할 때(형식 변경이 있을 수도 있음) 또는 스트림 중단으로 인해 데이터가 누락된 경우 AM_SAMPLE_DATADISCONTINUITY 플래그를 사용해야 합니다.

AM_SAMPLE_DATADISCONTINUITY 플래그는 S_OK 반환하는 IMediaSample::IsDiscontinuity 메서드와 동일합니다.

요구 사항

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

추가 정보

DirectShow 열거형 형식