Throw away latency values that seem invalid

This commit is contained in:
Gabe Kangas
2022-04-25 14:52:33 -07:00
parent b2b791b365
commit 6ee88f8a7d

View File

@@ -1,5 +1,6 @@
import { URL_PLAYBACK_METRICS } from '../utils/constants.js'; import { URL_PLAYBACK_METRICS } from '../utils/constants.js';
const METRICS_SEND_INTERVAL = 10000; const METRICS_SEND_INTERVAL = 10000;
const MAX_VALID_LATENCY_SECONDS = 40; // Anything > this gets thrown out.
class PlaybackMetrics { class PlaybackMetrics {
constructor(player, videojs) { constructor(player, videojs) {
@@ -174,6 +175,12 @@ class PlaybackMetrics {
const segmentTime = segment.dateTimeObject.getTime(); const segmentTime = segment.dateTimeObject.getTime();
const now = new Date().getTime(); const now = new Date().getTime();
const latency = now - segmentTime; const latency = now - segmentTime;
// Throw away values that seem invalid.
if (latency < 0 || latency / 1000 >= MAX_VALID_LATENCY_SECONDS) {
return;
}
this.trackLatency(latency); this.trackLatency(latency);
} catch (err) { } catch (err) {
console.warn(err); console.warn(err);