IMFDeviceTransform::P rocessEvent 메서드(mftransform.h)
ProcessEvent 메서드는 이 MFT(Media Foundation 변환)의 입력 스트림에 이벤트를 보냅니다.
구문
HRESULT ProcessEvent(
[in] DWORD dwInputStreamID,
[in] IMFMediaEvent *pEvent
);
매개 변수
[in] dwInputStreamID
Stream 식별자입니다. 스트림 식별자 목록을 얻으려면 IMFDeviceTransform::GetStreamIDs를 호출합니다.
[in] pEvent
이벤트 개체의 IMFMediaEvent 인터페이스에 대한 포인터입니다.
반환 값
이 메서드는 HRESULT를 반환합니다. 가능한 값에는 다음 표에 제공된 값이 포함되지만 제한되지는 않습니다.
반환 코드 | Description |
---|---|
|
이벤트가 성공적으로 처리되었습니다. 이벤트는 스트림 아래로 전파됩니다. |
|
잘못된 스트림 ID가 전달되었습니다. |
|
디바이스 MFT가 이벤트를 더 이상 전파하지 않도록 합니다. |
|
함수가 구현되지 않았습니다. |
설명
MFT는 이벤트 다운스트림 전송을 처리하거나 반환 값에 표시된 대로 DTM이 이 작업을 수행하도록 할 수 있습니다.
- E_notimpl: MFT는 모든 이벤트를 무시하고 DTM은 모든 이벤트를 다운스트림으로 보내야 합니다. 파이프라인이 이 반환 값을 받은 후
- S_ok: MFT는 이 이벤트를 검사했지만 DTM은 이벤트를 다운스트림으로 보내야 합니다. 내부적으로 MFT는 어떤 식으로든 이벤트에 응답하거나 이벤트를 무시할 수 있습니다.
- MF_S_TRANSFORM_DO_NOT_PROPAGATE_EVENT: DTM은 이 이벤트를 다운스트림으로 전파해서는 안 됩니다. MFT는 이벤트를 다운스트림으로 보내거나 MFT가 이벤트를 사용하고 다운스트림으로 보내지 않습니다. MFT는 이벤트가 이 MFT에서 중지되고 더 이상 다운스트림으로 이동하지 않아야 하는 경우에만 이벤트를 사용해야 합니다. 그러나 대부분의 경우 이벤트는 다운스트림으로 이동해야 합니다.
이벤트는 그 전후에 제공되는 샘플로 직렬화되어야 합니다. 이벤트를 다음 출력 샘플에 연결합니다. 파이프라인은 먼저 이벤트를 처리한 다음 샘플을 처리합니다. MFT가 IMFTransform::P rocessInput 및 IMFTransform::P rocessOutput 호출 간에 하나 이상의 샘플을 보유하는 경우 MFT는 모든 이벤트 다운스트림 전송을 처리해야 합니다. 이 경우 파이프라인은 입력 샘플과 출력 샘플의 상관 관계를 지정할 수 없기 때문입니다.
MFT가 샘플을 보류하지 않고 이벤트를 검사할 필요가 없는 경우 E_NOTIMPL 반환할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 10, 버전 1703 |
대상 플랫폼 | Windows |
헤더 | mftransform.h |