다음을 통해 공유


IMFClockStateSink::OnClockStart 메서드(mfidl.h)

프레젠테이션 시계가 시작될 때 호출됩니다.

구문

HRESULT OnClockStart(
  [in] MFTIME   hnsSystemTime,
  [in] LONGLONG llClockStartOffset
);

매개 변수

[in] hnsSystemTime

시계가 시작된 시스템 시간(100나노초 단위)입니다.

[in] llClockStartOffset

시계의 새로운 시작 시간(100나노초 단위)입니다. 이 매개 변수는 클록이 현재 위치에서 시작되거나 다시 시작되었음을 나타내는 PRESENTATION_CURRENT_POSITION 같을 수도 있습니다.

반환 값

메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.

설명

이 메서드는 프레젠테이션 클록의 IMFPresentationClock::Start 메서드가 호출되면 호출됩니다. 다음 예외를 제외하고 시계가 일시 중지되고 StartPRESENTATION_CURRENT_POSITION 값으로 호출되면 ONClockStart 대신 IMFClockStateSink::OnClockRestart가 호출됩니다.

시계는 시간 원본의 OnClockStart 메서드를 호출하여 프레젠테이션 시간 원본을 알 수 있습니다. 이 호출은 Start 메서드 내에서 동기적으로 발생합니다. 시간 원본이 OnClockStart에서 오류를 반환하는 경우 프레젠테이션 시계의 Start 메서드는 오류를 반환하고 상태 변경은 발생하지 않습니다.

프레젠테이션 시간 원본이 아닌 개체의 경우 상태 변경이 완료된 후 OnClockStart 메서드가 비동기적으로 호출됩니다. 이 경우 이 메서드의 반환 값은 무시됩니다.

llClockStartOffset에 지정된 값은 클록이 시작될 때의 프레젠테이션 시간이므로 프레젠테이션 시작에 상대적입니다. 미디어 싱크는 llClockStartOffSet 이전의 프레젠테이션 시간으로 데이터를 렌더링해서는 안 됩니다. 샘플이 오프셋을 가로지르면(즉, 오프셋이 샘플의 시작 시간과 중지 시간 사이에 떨어지는 경우) 싱크는 llClockStartOffset 이후의 데이터만 렌더링되도록 샘플을 트리밍하거나 단순히 샘플을 삭제해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 mfidl.h
라이브러리 Mfuuid.lib

참고 항목

IMFClockStateSink

MFTIME

프레젠테이션 시계