UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
MediaClock.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "Containers/Array.h"
6#include "Misc/Timespan.h"
8
9#include "IMediaClock.h"
10
11class IMediaClockSink;
12
13
18 : public IMediaClock
19{
20public:
21
24
25public:
26
32 void TickInput();
33
39 void TickOutput();
40
46 void TickRender();
47
53 void TickFetch();
54
62
63public:
64
65 //~ IMediaClock interface
66
67 virtual void AddSink(const TSharedRef<IMediaClockSink, ESPMode::ThreadSafe>& Sink) override;
68 virtual FTimespan GetTimecode() const override;
69 virtual bool IsTimecodeLocked() const override;
70 virtual void RemoveSink(const TSharedRef<IMediaClockSink, ESPMode::ThreadSafe>& Sink) override;
71
72private:
73
75 FTimespan DeltaTime;
76
78 bool Locked;
79
82
85
88
90 mutable FCriticalSection SinkCriticalSection;
91
93 FTimespan Timecode;
94
96 bool TimecodeLocked;
97
101 void UpdateSinkArray();
102
103};
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE::FPlatformRecursiveMutex FCriticalSection
Definition CriticalSection.h:53
Definition MediaClock.h:19
void TickFetch()
Definition MediaClock.cpp:22
void TickInput()
Definition MediaClock.cpp:42
virtual bool IsTimecodeLocked() const override
Definition MediaClock.cpp:141
void TickRender()
Definition MediaClock.cpp:82
void TickOutput()
Definition MediaClock.cpp:62
virtual void AddSink(const TSharedRef< IMediaClockSink, ESPMode::ThreadSafe > &Sink) override
Definition MediaClock.cpp:121
void UpdateTimecode(const FTimespan NewTimecode, bool NewTimecodeLocked)
Definition MediaClock.cpp:102
virtual void RemoveSink(const TSharedRef< IMediaClockSink, ESPMode::ThreadSafe > &Sink) override
Definition MediaClock.cpp:147
virtual FTimespan GetTimecode() const override
Definition MediaClock.cpp:135
FMediaClock()
Definition MediaClock.cpp:13
Definition IMediaClockSink.h:37
Definition IMediaClock.h:15
Definition Array.h:670
Definition SharedPointer.h:153
Definition Timespan.h:76