다음을 통해 공유


ICaptureGraphBuilder::RenderStream 메서드(strmif.h)

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

참고ICaptureGraphBuilder 인터페이스는 더 이상 사용되지 않습니다. 대신 ICaptureGraphBuilder2 를 사용합니다.
 
필요에 따라 지정된 범주의 원본 필터 핀을 렌더링 필터에 연결하고 필요에 따라 다른 필터를 통해 연결합니다.

구문

HRESULT RenderStream(
  [in] const GUID  *pCategory,
  [in] IUnknown    *pSource,
  [in] IBaseFilter *pfCompressor,
  [in] IBaseFilter *pfRenderer
);

매개 변수

[in] pCategory

연결할 원본 필터의 출력 핀을 지정하는 GUID에 대한 포인터입니다. 모든 핀 범주 목록은 Pin 속성 집합 을 참조하세요. NULL 은 범주에 관계없이 유일한 출력 핀을 렌더링했음을 나타냅니다.

[in] pSource

원본 필터 또는 출력 핀을 나타내는 IBaseFilter 또는 IPin 인터페이스에 대한 포인터입니다. 원본 필터는 일반적으로 AVI 파일 원본 필터 또는 캡처 필터와 같은 파일 원본 필터입니다.

[in] pfCompressor

선택적 압축 필터를 나타내는 IBaseFilter 인터페이스에 대한 포인터입니다.

[in] pfRenderer

렌더러를 나타내는 IBaseFilter 인터페이스에 대한 포인터입니다. ICaptureGraphBuilder::SetOutputFileNameppf(multiplexer) 매개 변수를 사용하여 이 값을 제공할 수 있습니다.

반환 값

캡처 필터에 캡처 핀이 있지만 미리 보기 핀이 없는 경우 VFW_S_NOPREVIEWPIN 반환하고 캡처 핀에서 &PIN_CATEGORY_PREVIEW 범주를 사용하여 를 호출 RenderStream 합니다. 이 경우 는 RenderStream스마트 티 필터의 미리 보기 핀을 렌더링합니다. 자세한 내용은 설명 부분을 참조하세요.

설명

pCategory대해 NULL이 아닌 Pin 속성 집합 GUID와 pSource에 대한 캡처 필터를 지정하는 경우 이 메서드는 TV 튜너 및 크로스바와 같은 추가 필수 업스트림 필터를 인스턴스화하고 연결합니다. 그런 다음 pSource의 캡처 핀을 렌더링합니다.

pSource가 핀인 경우 pCategoryNULL을 지정하고 이 메서드는 해당 핀에서 스트림을 렌더링합니다.

원본 필터에 출력 핀이 하나만 있는 경우 pCategoryNULL을 지정합니다.

매개 변수로 지정된 pSource, pfCompressorpfRenderer 필터는 이 메서드가 호출되기 전에 그래프에 있어야 합니다.

WDM 캡처 필터를 사용하는 캡처 그래프를 빌드하는 경우 이 메서드는 다운스트림 필터뿐만 아니라 필요한 모든 업스트림 필터를 빌드합니다.

새로운 WDM VPE(비디오 포트 확장) 비디오 캡처 하드웨어에서 작동하는 일부 캡처 필터에는 미리 보기용 핀 대신 비디오 포트 핀이 있습니다. 비디오 포트 핀은 비디오 렌더러에 직접 연결되지 않고 오버레이 믹서라는 특수 필터에 연결됩니다. 애플리케이션은 이에 대해 걱정할 필요가 없습니다. PIN_CATEGORY_PREVIEW 호출 RenderStream 하기만 하면 캡처 그래프 작성기가 오버레이 믹서(필요한 경우)를 통해 VIDEO PORT 핀을 올바르게 렌더링합니다.

비디오 캡처 필터(PIN_CATEGORY_CAPTURE 또는 PIN_CATEGORY_PREVIEW 범주와 함께 사용 RenderStream )의 캡처 또는 미리 보기 핀을 렌더링하고 캡처 필터에 캡처 핀이 있지만 미리 보기 핀이 없는 경우 스마트 티 필터가 자동으로 사용되어 동시 캡처 및 미리 보기를 허용합니다. 예를 들어 PIN_CATEGORY_CAPTURE 범주를 사용하여 를 호출 RenderStream 하면 실제로 스마트 티 필터를 필터의 캡처 핀에 연결한 다음 스마트 티의 캡처 핀을 렌더링합니다. 그런 다음 캡처 핀에서 PIN_CATEGORY_PREVIEW 범주를 사용하여 를 호출 RenderStream 하면 실제로 스마트 티의 미리 보기 핀이 렌더링됩니다. PIN_CATEGORY_PREVIEW 를 사용하여 를 호출 RenderStream 하면 캡처 핀 및 스마트 티 필터 RenderStream 를 사용하는 경우 은 VFW_S_NOPREVIEWPIN 반환하여 이를 나타냅니다. 따라서 FindInterface 가 미리 보기 인터페이스를 찾지 못하는 경우 캡처 필터의 캡처 핀 다운스트림을 확인하여 미리 보기 인터페이스를 찾을 수 있으므로 PIN_CATEGORY_PREVIEW 범주 및 PIN_CATEGORY_CAPTURE 범주를 사용하여 FindInterface 를 호출해야 할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 strmif.h(Dshow.h 포함)

추가 정보

오류 및 성공 코드

ICaptureGraphBuilder 인터페이스