MEStreamTick 이벤트

미디어 스트림에 지정된 시간에 사용할 수 있는 데이터가 없음을 알 수 있습니다.

이벤트 값

IMFMediaEvent::GetValue에서 검색할 수 있는 값은 다음과 같습니다.

VARTYPE 설명
VT_I8
간격이 발생하는 시간(100나노초 단위)입니다.

설명

이 이벤트는 데이터의 간격을 나타냅니다. 이 이벤트는 다운스트림 구성 요소에 지정된 시간에 데이터를 기대하지 않도록 알 수 있습니다.

스트림의 미디어 샘플에 대한 타임스탬프를 생성하는 개체가 이벤트를 보내야 합니다. 데이터 형식에 따라 다음 중 하나를 수행합니다.

간격 동안 개체는 일반적으로 샘플을 생성하는 만큼 자주 이벤트를 보내야 합니다. 비디오의 경우 누락된 각 프레임에 대해 하나의 이벤트를 보냅니다. 오디오의 경우 간격 동안 초당 한 번 이상 이벤트를 보냅니다. 이벤트의 값은 누락된 샘플의 타임스탬프를 나타냅니다. 데이터의 간격을 채우기 위해 필요한 만큼 MEStreamTick 이벤트를 보냅니다.

미디어 원본에 여러 스트림이 있고 둘 이상의 스트림에 간격이 있는 경우 각 스트림은 MEStreamTick 이벤트를 보내야 합니다. 예를 들어 오디오 및 비디오 데이터 둘 다에 간격이 있는 경우 두 스트림 모두 이벤트를 보냅니다.

MEStreamTick 이벤트는 IMFMediaStream::RequestSample 요청을 완료하지 않습니다. 미디어 원본은 RequestSample에 대한 각 호출에 대해 MEMediaSample 이벤트를 계속 보내야 합니다.

미디어 싱크는 이 이벤트를 직접 사용할 수 없습니다. 스트림의 간격을 미디어 싱크로 신호하려면 MFSTREAMSINK_MARKER_TICK 표식을 사용하여 IMFStreamSink::P laceMarker를 호출합니다. Media Foundation 파이프라인은 필요할 때 MEStreamTick 이벤트를 MFSTREAMSINK_MARKER_TICK 마커로 변환합니다.

MEStreamTick 이벤트 후 다음 미디어 샘플에서 MFSampleExtension_Discontinuity 특성을 설정하지 마세요. MFSampleExtension_Discontinuity 특성은 타임스탬프는 이전 타임스탬프를 사용할 수 없다는 것을 의미하지만 MEStreamTick은 타임스탬프는 연속되지만 일부 데이터는 누락됨을 의미합니다.

참고

이전 버전의 설명서에서는 MEStreamTick 이벤트 이후의 샘플에 MFSampleExtension_Discontinuity 특성이 있어야 한다고 잘못 설명했습니다.

 

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버
Windows Server 2008 [데스크톱 앱만 해당]
헤더
Mfobjects.h(Mfidl.h 포함)

추가 정보

Media Foundation 이벤트