다음을 통해 공유


샘플 그래버 필터

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

참고

[더 이상 사용되지 않습니다. 이 API는 이후 Windows 릴리스에서 제거될 수 있습니다.]

 

샘플 그래버 필터는 필터 그래프를 통과할 때 샘플을 검색하는 방법을 제공합니다. 하나의 입력 핀과 하나의 출력 핀이 있는 변환 필터입니다. 모든 샘플 다운스트림을 변경하지 않고 전달하므로 데이터 스트림을 변경하지 않고 필터 그래프에 삽입할 수 있습니다. 그런 다음, 애플리케이션은 ISampleGrabber 인터페이스에서 메서드를 호출하여 필터에서 개별 샘플을 검색할 수 있습니다.

데이터를 렌더링하지 않고 샘플을 검색하려면 샘플 그래버 필터를 Null 렌더러 필터에 연결합니다.

레이블
필터 인터페이스 IBaseFilter, ISampleGrabber
입력 핀 미디어 유형 모든 미디어 유형입니다.
입력 핀 인터페이스 IMemInputPin, IPin, IQualityControl
출력 핀 미디어 유형 모든 미디어 유형입니다. 입력 미디어 형식과 일치합니다.
출력 핀 인터페이스 IMediaPosition, IMediaSeeking, IPin, IQualityControl
CLSID 필터링 CLSID_SampleGrabber
속성 페이지 CLSID 속성 페이지가 없습니다.
실행 파일 Qedit.dll
장점 MERIT_DO_NOT_USE
필터 범주 CLSID_LegacyAmFilterCategory

 

설명

이 필터를 사용하려면 필터 그래프에 추가하고 원하는 미디어 형식으로 ISampleGrabber::SetMediaType 을 호출합니다. 이 메서드는 필터의 입력 및 출력 핀 연결에 대한 미디어 형식을 지정합니다. 그런 다음 그래프의 다른 필터에 필터를 연결합니다.

값 TRUE를 사용하여 ISampleGrabber::SetBufferSamples를 호출하는 경우 필터는 다운스트림을 전달하기 전에 수신하는 각 샘플을 버퍼링합니다. ISampleGrabber::GetCurrentBuffer 메서드를 호출하여 버퍼의 현재 콘텐츠를 검색합니다. 또는 ISampleGrabber::SetCallback 을 호출하여 필터가 샘플을 받을 때마다 콜백 함수를 호출하도록 할 수 있습니다.

필터에는 비디오 형식에 대한 다음과 같은 제한 사항이 있습니다.

  • 하향식 방향(음의 biHeight)을 사용하는 비디오 형식은 지원하지 않습니다.
  • VIDEOINFOHEADER2 형식 구조(형식 형식은 FORMAT_VideoInfo2 동일)를 지원하지 않습니다.
  • 화면 보폭이 비디오 너비와 일치하지 않는 비디오 유형을 거부합니다.

따라서 샘플 그래버가 일부 비디오 형식의 VMR(비디오 혼합 렌더러)에 연결되지 않습니다.

요구 사항

요구 사항
헤더
Qedit.h

추가 정보

DirectShow Editing Services 개체

샘플 그래버 사용