Fix two UBSan warnings in NetEq
Both were related to very large jumps in RTP timestamps.
BUG=webrtc:5488
Review URL: https://codereview.webrtc.org/1685103002
Cr-Commit-Position: refs/heads/master@{#11569}
diff --git a/webrtc/modules/audio_coding/neteq/delay_manager.cc b/webrtc/modules/audio_coding/neteq/delay_manager.cc
index 806d02b..af49f00 100644
--- a/webrtc/modules/audio_coding/neteq/delay_manager.cc
+++ b/webrtc/modules/audio_coding/neteq/delay_manager.cc
@@ -15,6 +15,7 @@
#include <algorithm> // max, min
+#include "webrtc/base/safe_conversions.h"
#include "webrtc/common_audio/signal_processing/include/signal_processing_library.h"
#include "webrtc/modules/audio_coding/neteq/delay_peak_detector.h"
#include "webrtc/modules/include/module_common_types.h"
@@ -93,10 +94,11 @@
packet_len_ms = packet_len_ms_;
} else {
// Calculate timestamps per packet and derive packet length in ms.
- int packet_len_samp =
+ int64_t packet_len_samp =
static_cast<uint32_t>(timestamp - last_timestamp_) /
static_cast<uint16_t>(sequence_number - last_seq_no_);
- packet_len_ms = (1000 * packet_len_samp) / sample_rate_hz;
+ packet_len_ms =
+ rtc::checked_cast<int>(1000 * packet_len_samp / sample_rate_hz);
}
if (packet_len_ms > 0) {