EC_COMPLETE

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

특정 스트림의 모든 데이터가 렌더링되었습니다.

매개 변수

lParam1

(HRESULT) 완료 시 스트림의 상태입니다. 재생 중에 오류가 발생하지 않으면 값이 S_OK.

lParam2

(IUnknown*) 0 또는 렌더러의 IBaseFilter 인터페이스에 대한 포인터입니다.

기본 작업

기본적으로 필터 그래프 관리자는 이 이벤트를 애플리케이션에 전달하지 않습니다. 그러나 그래프 보고서의 모든 스트림이 EC_COMPLETE 필터 그래프 관리자는 별도의 EC_COMPLETE 이벤트를 애플리케이션에 게시합니다.

이 이벤트에 대해 기본 작업을 사용하지 않도록 설정하면 애플리케이션은 렌더러에서 모든 EC_COMPLETE 이벤트를 수신합니다.

설명

렌더러 필터는 스트림 종료 알림을 받으면 이 이벤트를 보냅니다. (스트림의 끝은 IPin::EndOfStream 메서드를 통해 신호를 보냅니다.) 필터는 각 스트림에 대해 정확히 하나의 EC_COMPLETE 이벤트를 보냅니다. 필터는 이벤트를 보내기 전에 보류 중인 샘플을 처리해야 합니다. 렌더러를 중지하면 캐시된 스트림 끝 상태가 다시 설정됩니다.

렌더러가 일시 중지되면 IMediaFilter::Run 메서드가 호출될 때까지 EC_COMPLETE 보내지 않습니다. 또한 필터가 중지되거나 플러시될 때까지 일시 중지에서 실행으로 전환할 때마다 EC_COMPLETE 이벤트를 계속 보냅니다.

필터는 lParam2 매개 변수를 IBaseFilter 포인터로 설정합니다. 기본 작업을 사용하도록 설정하면 필터 그래프 관리자가 이 매개 변수를 0으로 설정합니다.

요구 사항

요구 사항
헤더
Dshow.h

추가 정보

이벤트 알림 코드

DirectShow의 이벤트 알림

대체 비디오 렌더러