스트림 끝 제공
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 DirectShow 대신 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
입력 핀이 스트림 종료 알림을 받으면 호출 다운스트림이 전파됩니다. 이 입력 핀에서 데이터를 수신하는 모든 다운스트림 필터는 스트림 종료 알림을 받아야 합니다. 다시 한 번 필터 잠금이 아닌 스트리밍 잠금을 사용합니다. 필터에 아직 배달되지 않은 보류 중인 데이터가 있는 경우 필터는 스트림 종료 알림을 보내기 전에 지금 전달해야 합니다. 스트림이 끝난 후에는 데이터를 보내지 않아야 합니다.
HRESULT CMyInputPin::EndOfStream()
{
CAutoLock lock_it(&m_csReceive);
/* If the pin has not delivered all of the data in the stream
(based on what it received previously), do so now. */
// Propagate EndOfStream call downstream, via your output pin(s).
for (each output pin)
{
hr = pOutputPin->DeliverEndOfStream();
}
return S_OK;
}
CBaseOutputPin::D eliverEndOfStream 메서드는 다운스트림 입력 핀에서 IPin::EndOfStream을 호출합니다.
관련 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기