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 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기