#include "third_party/webrtc_overrides/metronome_source.h"
#include <memory>
#include <utility>
#include "base/containers/flat_set.h"
#include "base/functional/bind.h"
#include "base/memory/ptr_util.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_refptr.h"
#include "base/sequence_checker.h"
#include "base/task/sequenced_task_runner.h"
#include "base/task/thread_pool.h"
#include "base/thread_annotations.h"
#include "base/time/time.h"
#include "base/trace_event/typed_macros.h"
#include "third_party/webrtc/api/metronome/metronome.h"
#include "third_party/webrtc_overrides/timer_based_tick_provider.h"
namespace blink {
class WebRtcMetronomeAdapter : public webrtc::Metronome { … };
MetronomeSource::MetronomeSource(scoped_refptr<TickProvider> tick_provider)
: … { … }
MetronomeSource::~MetronomeSource() { … }
void MetronomeSource::RequestCallOnNextTick(
absl::AnyInvocable<void() &&> callback) { … }
void MetronomeSource::OnMetronomeTick() { … }
void MetronomeSource::Reschedule() { … }
base::TimeDelta MetronomeSource::TickPeriod() { … }
std::unique_ptr<webrtc::Metronome> MetronomeSource::CreateWebRtcMetronome() { … }
}