summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc')
-rw-r--r--chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc b/chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc
index 07ad762cbd4..c78e07ca49b 100644
--- a/chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc
+++ b/chromium/third_party/blink/renderer/modules/webrtc/webrtc_audio_device_impl.cc
@@ -32,7 +32,6 @@ void SendLogMessage(const std::string& message) {
WebRtcAudioDeviceImpl::WebRtcAudioDeviceImpl()
: audio_processing_id_(base::UnguessableToken::Create()),
audio_transport_callback_(nullptr),
- output_delay_ms_(0),
initialized_(false),
playing_(false),
recording_(false) {
@@ -56,7 +55,7 @@ WebRtcAudioDeviceImpl::~WebRtcAudioDeviceImpl() {
void WebRtcAudioDeviceImpl::RenderData(media::AudioBus* audio_bus,
int sample_rate,
- int audio_delay_milliseconds,
+ base::TimeDelta audio_delay,
base::TimeDelta* current_time) {
{
base::AutoLock auto_lock(lock_);
@@ -79,7 +78,7 @@ void WebRtcAudioDeviceImpl::RenderData(media::AudioBus* audio_bus,
}
DCHECK(audio_transport_callback_);
// Store the reported audio delay locally.
- output_delay_ms_ = audio_delay_milliseconds;
+ output_delay_ = audio_delay;
}
const int frames_per_10_ms = sample_rate / 100;
@@ -114,7 +113,7 @@ void WebRtcAudioDeviceImpl::RenderData(media::AudioBus* audio_bus,
// Pass the render data to the playout sinks.
base::AutoLock auto_lock(lock_);
for (auto* sink : playout_sinks_)
- sink->OnPlayoutData(audio_bus, sample_rate, audio_delay_milliseconds);
+ sink->OnPlayoutData(audio_bus, sample_rate, audio_delay);
}
void WebRtcAudioDeviceImpl::RemoveAudioRenderer(
@@ -352,7 +351,9 @@ int32_t WebRtcAudioDeviceImpl::MinMicrophoneVolume(uint32_t* min_volume) const {
int32_t WebRtcAudioDeviceImpl::PlayoutDelay(uint16_t* delay_ms) const {
DCHECK_CALLED_ON_VALID_THREAD(worker_thread_checker_);
base::AutoLock auto_lock(lock_);
- *delay_ms = static_cast<uint16_t>(output_delay_ms_);
+ const int64_t output_delay_ms = output_delay_.InMilliseconds();
+ DCHECK_LE(output_delay_ms, std::numeric_limits<uint16_t>::max());
+ *delay_ms = base::saturated_cast<uint16_t>(output_delay_ms);
return 0;
}