11#include <promeki/config.h>
12#if PROMEKI_ENABLE_NETWORK
17PROMEKI_NAMESPACE_BEGIN
61 RtpStreamClock() =
default;
73 RtpStreamClock(
const NtpTime &srNtp, uint32_t srRtpTs, uint32_t clockRate)
74 : _srNtp(srNtp), _srRtpTs(srRtpTs), _clockRate(clockRate),
75 _valid(clockRate > 0) {}
79 bool isValid()
const {
return _valid; }
88 void setSr(
const NtpTime &srNtp, uint32_t srRtpTs) {
91 _valid = _clockRate > 0;
101 void setClockRate(uint32_t clockRate) {
102 _clockRate = clockRate;
103 _valid = _clockRate > 0 && _srNtp.isValid();
107 const NtpTime &srNtp()
const {
return _srNtp; }
110 uint32_t srRtpTs()
const {
return _srRtpTs; }
114 uint32_t clockRate()
const {
return _clockRate; }
126 NtpTime toNtp(uint32_t rtpTs)
const;
145 uint32_t toRtpTs(
const NtpTime &ntp)
const;
149 uint32_t _srRtpTs = 0;
150 uint32_t _clockRate = 0;