ICaptureGraphBuilder::RenderStream 메서드(strmif.h)
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
구문
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::SetOutputFileName의 ppf(multiplexer) 매개 변수를 사용하여 이 값을 제공할 수 있습니다.
반환 값
캡처 필터에 캡처 핀이 있지만 미리 보기 핀이 없는 경우 VFW_S_NOPREVIEWPIN 반환하고 캡처 핀에서 &PIN_CATEGORY_PREVIEW 범주를 사용하여 를 호출 RenderStream
합니다. 이 경우 는 RenderStream
스마트 티 필터의 미리 보기 핀을 렌더링합니다. 자세한 내용은 설명 부분을 참조하세요.
설명
pCategory에 대해 NULL이 아닌 Pin 속성 집합 GUID와 pSource에 대한 캡처 필터를 지정하는 경우 이 메서드는 TV 튜너 및 크로스바와 같은 추가 필수 업스트림 필터를 인스턴스화하고 연결합니다. 그런 다음 pSource의 캡처 핀을 렌더링합니다.
pSource가 핀인 경우 pCategory에 NULL을 지정하고 이 메서드는 해당 핀에서 스트림을 렌더링합니다.
원본 필터에 출력 핀이 하나만 있는 경우 pCategory에 NULL을 지정합니다.
매개 변수로 지정된 pSource, pfCompressor 및 pfRenderer 필터는 이 메서드가 호출되기 전에 그래프에 있어야 합니다.
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 포함) |