3#ifndef QFFMPEGTIMECONTROLLER_P_H
4#define QFFMPEGTIMECONTROLLER_P_H
28 using TrackTime = std::chrono::microseconds;
31 using Clock = std::chrono::steady_clock;
46 const Clock::duration &fixingTime = std::chrono::seconds(4));
60 TrackTime srcPosition;
62 TrackTime srcPosOffest;
63 TrackTime dstPosition;
67 SoftSyncData makeSoftSyncData(
const TimePoint &srcTp,
const TrackTime &srcPos,
70 TrackTime positionFromTimeInternal(
const TimePoint &tp)
const;
72 TimePoint timeFromPositionInternal(
const TrackTime &
pos)
const;
74 void scrollTimeTillNow();
77 static Clock::duration toClockTime(
const T &
t);
80 static TrackTime toTrackTime(
const T &
t);
87 std::optional<SoftSyncData> m_softSyncData;
void sync(qint64 trackPos=0)
qint64 positionFromTime(TimePoint tp, bool ignorePause=false) const
Clock::time_point TimePoint
std::chrono::steady_clock Clock
TimePoint timeFromPosition(qint64 pos, bool ignorePause=false) const
void setPlaybackRate(PlaybackRate playbackRate)
qint64 currentPosition(const Clock::duration &offset=Clock::duration{ 0 }) const
void setPaused(bool paused)
float playbackRate() const
void syncSoft(const TimePoint &tp, qint64 pos, const Clock::duration &fixingTime=std::chrono::seconds(4))
Combined button and popup list for selecting options.
GLenum GLuint GLintptr offset