#include "video/rtp_streams_synchronizer2.h"
#include "absl/types/optional.h"
#include "call/syncable.h"
#include "rtc_base/checks.h"
#include "rtc_base/logging.h"
#include "rtc_base/time_utils.h"
#include "rtc_base/trace_event.h"
#include "system_wrappers/include/rtp_to_ntp_estimator.h"
namespace webrtc {
namespace internal {
namespace {
constexpr int64_t kStatsLogIntervalMs = …;
constexpr TimeDelta kSyncInterval = …;
bool UpdateMeasurements(StreamSynchronization::Measurements* stream,
const Syncable::Info& info) { … }
}
RtpStreamsSynchronizer::RtpStreamsSynchronizer(TaskQueueBase* main_queue,
Syncable* syncable_video)
: … { … }
RtpStreamsSynchronizer::~RtpStreamsSynchronizer() { … }
void RtpStreamsSynchronizer::ConfigureSync(Syncable* syncable_audio) { … }
void RtpStreamsSynchronizer::UpdateDelay() { … }
bool RtpStreamsSynchronizer::GetStreamSyncOffsetInMs(
uint32_t rtp_timestamp,
int64_t render_time_ms,
int64_t* video_playout_ntp_ms,
int64_t* stream_offset_ms,
double* estimated_freq_khz) const { … }
}
}