diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2017-06-09 14:04:31 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2018-02-28 13:05:09 +0100 |
commit | c5da1babf54cbe1e301aa90b9efdec335b91f92f (patch) | |
tree | 22b3a34f59781eebdea05118684c62b8a277bc1f | |
parent | 7365c327676ed9d8fc22ad838359a8e0f53fbd7f (diff) |
jibuf: Estimate src clock skew
Change-Id: Ifae633d53107417a8e2f9b0f200d2711db72d199
-rw-r--r-- | include/osmocom/netif/jibuf.h | 5 | ||||
-rw-r--r-- | src/jibuf.c | 31 | ||||
-rw-r--r-- | tests/jibuf/jibuf_test.c | 51 | ||||
-rw-r--r-- | tests/jibuf/jibuf_test.ok | 904 | ||||
-rw-r--r-- | tests/jibuf/jibuf_tool.c | 25 | ||||
-rw-r--r-- | tests/jibuf/jitter.plt | 2 |
6 files changed, 1005 insertions, 13 deletions
diff --git a/include/osmocom/netif/jibuf.h b/include/osmocom/netif/jibuf.h index aca319a..64f0824 100644 --- a/include/osmocom/netif/jibuf.h +++ b/include/osmocom/netif/jibuf.h @@ -41,6 +41,9 @@ struct jibuf { struct timeval last_enqueue_time; struct timeval next_dequeue_time; + bool skew_enabled; + int32_t skew_us; /* src clock skew, in usec */ + struct { uint32_t total_enqueued; uint64_t total_dropped; @@ -59,6 +62,8 @@ bool osmo_jibuf_empty(struct jibuf *jb); void osmo_jibuf_set_min_delay(struct jibuf *jb, uint32_t min_delay); void osmo_jibuf_set_max_delay(struct jibuf *jb, uint32_t max_delay); +void osmo_jibuf_enable_skew_compensation(struct jibuf *jb, bool enable); + void osmo_jibuf_set_dequeue_cb(struct jibuf *jb, osmo_jibuf_dequeue_cb dequeue_cb, void* cb_data); /*! @} */ diff --git a/src/jibuf.c b/src/jibuf.c index 5d568e1..73da04a 100644 --- a/src/jibuf.c +++ b/src/jibuf.c @@ -56,6 +56,9 @@ #define JIBUF_BUFFER_INC_STEP 20 #define JIBUF_BUFFER_DEC_STEP 5 +/* weight of each new packet in calculation of clock skew */ +#define JIBUF_SKEW_WEIGHT ((double)1/32) + struct jibuf_msgb_cb { struct timeval ts; unsigned long *old_cb; @@ -175,6 +178,7 @@ static void msg_set_as_reference(struct jibuf *jb, struct msgb *msg) jb->ref_rx_ts = timeval2ms(&jb->last_enqueue_time); jb->ref_tx_ts = msg_get_timestamp(msg); jb->ref_tx_seq = msg_get_sequence(msg); + jb->skew_us = 0; LOGP(DLJIBUF, LOGL_DEBUG, "New reference (seq=%"PRIu16" rx=%"PRIu32 \ " tx=%"PRIu32")\n", jb->ref_tx_seq, jb->ref_rx_ts, jb->ref_tx_ts); @@ -215,6 +219,14 @@ static void timer_expired(void *data) jitter when packets do not arrive on time */ } +static void recalc_clock_skew(struct jibuf *jb, int32_t rel_delay) +{ + if(!jb->skew_enabled) + return; + + jb->skew_us = (int32_t) (rel_delay * 1000 * JIBUF_SKEW_WEIGHT + jb->skew_us * (1.0 - JIBUF_SKEW_WEIGHT)); +} + static void recalc_threshold_delay(struct jibuf *jb) { @@ -309,6 +321,7 @@ int osmo_jibuf_enqueue(struct jibuf *jb, struct msgb *msg) rel_delay = 0; } else { rel_delay = calc_pkt_rel_delay(jb, msg); + recalc_clock_skew(jb, rel_delay); } /* Avoid time skew with sender (or drop-everything state), @@ -316,7 +329,7 @@ int osmo_jibuf_enqueue(struct jibuf *jb, struct msgb *msg) //if ((int)(msg_get_sequence(msg) - jb->ref_tx_seq) > JIBUF_REFERENCE_TS_FREQ) // msg_set_as_reference(jb, msg); - delay = jb->threshold_delay + rel_delay; + delay = jb->threshold_delay + rel_delay - jb->skew_us/1000; /* packet too late, let's drop it and incr buffer size if encouraged */ if (delay < 0) { @@ -338,8 +351,8 @@ int osmo_jibuf_enqueue(struct jibuf *jb, struct msgb *msg) timeradd(&jb->last_enqueue_time, &delay_ts, &sched_ts); LOGP(DLJIBUF, LOGL_DEBUG, "enqueuing packet seq=%"PRIu16" rel=%d delay=%d" \ - " thres=%d {%lu.%06lu -> %lu.%06lu} %s\n", - msg_get_sequence(msg), rel_delay, delay, jb->threshold_delay, + " skew=%d thres=%d {%lu.%06lu -> %lu.%06lu} %s\n", + msg_get_sequence(msg), rel_delay, delay, jb->skew_us, jb->threshold_delay, jb->last_enqueue_time.tv_sec, jb->last_enqueue_time.tv_usec, sched_ts.tv_sec, sched_ts.tv_usec, msg_get_marker(msg)? "M" : ""); @@ -394,6 +407,18 @@ void osmo_jibuf_set_max_delay(struct jibuf *jb, uint32_t max_delay) jb->threshold_delay = OSMO_MIN(jb->max_delay, jb->threshold_delay); } +/*! \brief Toggle use of skew detection and compensation mechanism + * \param[in] jb jitter buffer instance + * \param[in] enable Whether to enable or not (default) the skew estimation and compensation mechanism + * + * When this function is called, the estimated skew is reset. + */ +void osmo_jibuf_enable_skew_compensation(struct jibuf *jb, bool enable) +{ + jb->skew_enabled = enable; + jb->skew_us = 0; +} + /*! \brief Set dequeue callback for the jitter buffer * \param[in] jb jitter buffer instance * \param[in] dequeue_cb function pointer to call back when the dequeue timer for a given packet expires diff --git a/tests/jibuf/jibuf_test.c b/tests/jibuf/jibuf_test.c index a9a7ff0..5b5ebad 100644 --- a/tests/jibuf/jibuf_test.c +++ b/tests/jibuf/jibuf_test.c @@ -123,13 +123,14 @@ static void clock_override_set(long sec, long usec) clock_debug("clock_override_set"); } -static void clock_override_add(long sec, long usec) +static void clock_override_add_debug(long sec, long usec, bool dbg) { osmo_gettimeofday_override_add(sec, usec); osmo_clock_override_add(CLOCK_MONOTONIC, sec, usec*1000); - clock_debug("clock_override_add"); + if (dbg) + clock_debug("clock_override_add"); } - +#define clock_override_add(sec, usec) clock_override_add_debug(sec, usec, true) static void dequeue_cb(struct msgb *msg, void *data) { @@ -680,6 +681,48 @@ void test_rtp_out_of_sync(unsigned int time_inc_ms, uint16_t seq_nosync_inc, uin osmo_jibuf_delete(jb); } + +void test_skew(unsigned int skew_inc_us, bool skew_compensation) { + int min_delay = 40; + unsigned int dropped = 0; + struct msgb *msg; + int i; + char buf[250]; + + printf("===test_skew(%u, %d)===\n", skew_inc_us, skew_compensation); + + clock_override_enable(true); + clock_override_set(0, 0); + rtp_init(32, 400); + jb = osmo_jibuf_alloc(NULL); + osmo_jibuf_set_dequeue_cb(jb, dequeue_cb, NULL); + osmo_jibuf_set_min_delay(jb, min_delay); + /*set buffer static, otherwise will grow with drops and enqueue some more packets: */ + osmo_jibuf_set_max_delay(jb, min_delay); + osmo_jibuf_enable_skew_compensation(jb, skew_compensation); + + /* If no skew compensation is used, jitterbuffer should start dropping + * packets (all too late) after around min_delay*1000/skew_inc_us packets. */ + for (i = 0; i<min_delay*1000/skew_inc_us + 50; i++) { + snprintf(buf, sizeof(buf), "enqueue packet %d (accum_skew_us = %u)", i, skew_inc_us*i); + clock_debug(buf); + msg = rtp_next(); + if (osmo_jibuf_enqueue(jb, msg) < 0) { + dropped++; + msgb_free(msg); + } + clock_override_add_debug(0, TIME_RTP_PKT_MS*1000 + skew_inc_us, false); + } + + if (skew_compensation) { + OSMO_ASSERT(!dropped); + OSMO_ASSERT(jb->skew_us); + } else { + OSMO_ASSERT(dropped); + OSMO_ASSERT(!jb->skew_us); + } +} + int main(int argc, char **argv) { @@ -708,6 +751,8 @@ int main(int argc, char **argv) test_rtp_out_of_sync(80*TIME_RTP_PKT_MS, 5, 5*SAMPLES_PER_PKT, true); test_rtp_out_of_sync(80*TIME_RTP_PKT_MS, 6, 5*SAMPLES_PER_PKT, false); test_rtp_out_of_sync(80*TIME_RTP_PKT_MS, 5, 5*SAMPLES_PER_PKT + 3, false); + test_skew(100, false); + test_skew(100, true); fprintf(stdout, "OK: Test passed\n"); return EXIT_SUCCESS; diff --git a/tests/jibuf/jibuf_test.ok b/tests/jibuf/jibuf_test.ok index a152d24..e495435 100644 --- a/tests/jibuf/jibuf_test.ok +++ b/tests/jibuf/jibuf_test.ok @@ -409,4 +409,908 @@ sys={1.640000}, mono={1.640000}: 2 packets dequeued sys={1.700000}, mono={1.700000}: clock_override_add sys={1.700000}, mono={1.700000}: dequeue: seq=39 ts=1523 INTERMEDIATE sys={1.700000}, mono={1.700000}: dequeue: seq=40 ts=1683 LATEST +===test_skew(100, 0)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: enqueue packet 0 (accum_skew_us = 0) +sys={0.020100}, mono={0.020100}: enqueue packet 1 (accum_skew_us = 100) +sys={0.040200}, mono={0.040200}: enqueue packet 2 (accum_skew_us = 200) +sys={0.060300}, mono={0.060300}: enqueue packet 3 (accum_skew_us = 300) +sys={0.080400}, mono={0.080400}: enqueue packet 4 (accum_skew_us = 400) +sys={0.100500}, mono={0.100500}: enqueue packet 5 (accum_skew_us = 500) +sys={0.120600}, mono={0.120600}: enqueue packet 6 (accum_skew_us = 600) +sys={0.140700}, mono={0.140700}: enqueue packet 7 (accum_skew_us = 700) +sys={0.160800}, mono={0.160800}: enqueue packet 8 (accum_skew_us = 800) +sys={0.180900}, mono={0.180900}: enqueue packet 9 (accum_skew_us = 900) +sys={0.201000}, mono={0.201000}: enqueue packet 10 (accum_skew_us = 1000) +sys={0.221100}, mono={0.221100}: enqueue packet 11 (accum_skew_us = 1100) +sys={0.241200}, mono={0.241200}: enqueue packet 12 (accum_skew_us = 1200) +sys={0.261300}, mono={0.261300}: enqueue packet 13 (accum_skew_us = 1300) +sys={0.281400}, mono={0.281400}: enqueue packet 14 (accum_skew_us = 1400) +sys={0.301500}, mono={0.301500}: enqueue packet 15 (accum_skew_us = 1500) +sys={0.321600}, mono={0.321600}: enqueue packet 16 (accum_skew_us = 1600) +sys={0.341700}, mono={0.341700}: enqueue packet 17 (accum_skew_us = 1700) +sys={0.361800}, mono={0.361800}: enqueue packet 18 (accum_skew_us = 1800) +sys={0.381900}, mono={0.381900}: enqueue packet 19 (accum_skew_us = 1900) +sys={0.402000}, mono={0.402000}: enqueue packet 20 (accum_skew_us = 2000) +sys={0.422100}, mono={0.422100}: enqueue packet 21 (accum_skew_us = 2100) +sys={0.442200}, mono={0.442200}: enqueue packet 22 (accum_skew_us = 2200) +sys={0.462300}, mono={0.462300}: enqueue packet 23 (accum_skew_us = 2300) +sys={0.482400}, mono={0.482400}: enqueue packet 24 (accum_skew_us = 2400) +sys={0.502500}, mono={0.502500}: enqueue packet 25 (accum_skew_us = 2500) +sys={0.522600}, mono={0.522600}: enqueue packet 26 (accum_skew_us = 2600) +sys={0.542700}, mono={0.542700}: enqueue packet 27 (accum_skew_us = 2700) +sys={0.562800}, mono={0.562800}: enqueue packet 28 (accum_skew_us = 2800) +sys={0.582900}, mono={0.582900}: enqueue packet 29 (accum_skew_us = 2900) +sys={0.603000}, mono={0.603000}: enqueue packet 30 (accum_skew_us = 3000) +sys={0.623100}, mono={0.623100}: enqueue packet 31 (accum_skew_us = 3100) +sys={0.643200}, mono={0.643200}: enqueue packet 32 (accum_skew_us = 3200) +sys={0.663300}, mono={0.663300}: enqueue packet 33 (accum_skew_us = 3300) +sys={0.683400}, mono={0.683400}: enqueue packet 34 (accum_skew_us = 3400) +sys={0.703500}, mono={0.703500}: enqueue packet 35 (accum_skew_us = 3500) +sys={0.723600}, mono={0.723600}: enqueue packet 36 (accum_skew_us = 3600) +sys={0.743700}, mono={0.743700}: enqueue packet 37 (accum_skew_us = 3700) +sys={0.763800}, mono={0.763800}: enqueue packet 38 (accum_skew_us = 3800) +sys={0.783900}, mono={0.783900}: enqueue packet 39 (accum_skew_us = 3900) +sys={0.804000}, mono={0.804000}: enqueue packet 40 (accum_skew_us = 4000) +sys={0.824100}, mono={0.824100}: enqueue packet 41 (accum_skew_us = 4100) +sys={0.844200}, mono={0.844200}: enqueue packet 42 (accum_skew_us = 4200) +sys={0.864300}, mono={0.864300}: enqueue packet 43 (accum_skew_us = 4300) +sys={0.884400}, mono={0.884400}: enqueue packet 44 (accum_skew_us = 4400) +sys={0.904500}, mono={0.904500}: enqueue packet 45 (accum_skew_us = 4500) +sys={0.924600}, mono={0.924600}: enqueue packet 46 (accum_skew_us = 4600) +sys={0.944700}, mono={0.944700}: enqueue packet 47 (accum_skew_us = 4700) +sys={0.964800}, mono={0.964800}: enqueue packet 48 (accum_skew_us = 4800) +sys={0.984900}, mono={0.984900}: enqueue packet 49 (accum_skew_us = 4900) +sys={1.005000}, mono={1.005000}: enqueue packet 50 (accum_skew_us = 5000) +sys={1.025100}, mono={1.025100}: enqueue packet 51 (accum_skew_us = 5100) +sys={1.045200}, mono={1.045200}: enqueue packet 52 (accum_skew_us = 5200) +sys={1.065300}, mono={1.065300}: enqueue packet 53 (accum_skew_us = 5300) +sys={1.085400}, mono={1.085400}: enqueue packet 54 (accum_skew_us = 5400) +sys={1.105500}, mono={1.105500}: enqueue packet 55 (accum_skew_us = 5500) +sys={1.125600}, mono={1.125600}: enqueue packet 56 (accum_skew_us = 5600) +sys={1.145700}, mono={1.145700}: enqueue packet 57 (accum_skew_us = 5700) +sys={1.165800}, mono={1.165800}: enqueue packet 58 (accum_skew_us = 5800) +sys={1.185900}, mono={1.185900}: enqueue packet 59 (accum_skew_us = 5900) +sys={1.206000}, mono={1.206000}: enqueue packet 60 (accum_skew_us = 6000) +sys={1.226100}, mono={1.226100}: enqueue packet 61 (accum_skew_us = 6100) +sys={1.246200}, mono={1.246200}: enqueue packet 62 (accum_skew_us = 6200) +sys={1.266300}, mono={1.266300}: enqueue packet 63 (accum_skew_us = 6300) +sys={1.286400}, mono={1.286400}: enqueue packet 64 (accum_skew_us = 6400) +sys={1.306500}, mono={1.306500}: enqueue packet 65 (accum_skew_us = 6500) +sys={1.326600}, mono={1.326600}: enqueue packet 66 (accum_skew_us = 6600) +sys={1.346700}, mono={1.346700}: enqueue packet 67 (accum_skew_us = 6700) +sys={1.366800}, mono={1.366800}: enqueue packet 68 (accum_skew_us = 6800) +sys={1.386900}, mono={1.386900}: enqueue packet 69 (accum_skew_us = 6900) +sys={1.407000}, mono={1.407000}: enqueue packet 70 (accum_skew_us = 7000) +sys={1.427100}, mono={1.427100}: enqueue packet 71 (accum_skew_us = 7100) +sys={1.447200}, mono={1.447200}: enqueue packet 72 (accum_skew_us = 7200) +sys={1.467300}, mono={1.467300}: enqueue packet 73 (accum_skew_us = 7300) +sys={1.487400}, mono={1.487400}: enqueue packet 74 (accum_skew_us = 7400) +sys={1.507500}, mono={1.507500}: enqueue packet 75 (accum_skew_us = 7500) +sys={1.527600}, mono={1.527600}: enqueue packet 76 (accum_skew_us = 7600) +sys={1.547700}, mono={1.547700}: enqueue packet 77 (accum_skew_us = 7700) +sys={1.567800}, mono={1.567800}: enqueue packet 78 (accum_skew_us = 7800) +sys={1.587900}, mono={1.587900}: enqueue packet 79 (accum_skew_us = 7900) +sys={1.608000}, mono={1.608000}: enqueue packet 80 (accum_skew_us = 8000) +sys={1.628100}, mono={1.628100}: enqueue packet 81 (accum_skew_us = 8100) +sys={1.648200}, mono={1.648200}: enqueue packet 82 (accum_skew_us = 8200) +sys={1.668300}, mono={1.668300}: enqueue packet 83 (accum_skew_us = 8300) +sys={1.688400}, mono={1.688400}: enqueue packet 84 (accum_skew_us = 8400) +sys={1.708500}, mono={1.708500}: enqueue packet 85 (accum_skew_us = 8500) +sys={1.728600}, mono={1.728600}: enqueue packet 86 (accum_skew_us = 8600) +sys={1.748700}, mono={1.748700}: enqueue packet 87 (accum_skew_us = 8700) +sys={1.768800}, mono={1.768800}: enqueue packet 88 (accum_skew_us = 8800) +sys={1.788900}, mono={1.788900}: enqueue packet 89 (accum_skew_us = 8900) +sys={1.809000}, mono={1.809000}: enqueue packet 90 (accum_skew_us = 9000) +sys={1.829100}, mono={1.829100}: enqueue packet 91 (accum_skew_us = 9100) +sys={1.849200}, mono={1.849200}: enqueue packet 92 (accum_skew_us = 9200) +sys={1.869300}, mono={1.869300}: enqueue packet 93 (accum_skew_us = 9300) +sys={1.889400}, mono={1.889400}: enqueue packet 94 (accum_skew_us = 9400) +sys={1.909500}, mono={1.909500}: enqueue packet 95 (accum_skew_us = 9500) +sys={1.929600}, mono={1.929600}: enqueue packet 96 (accum_skew_us = 9600) +sys={1.949700}, mono={1.949700}: enqueue packet 97 (accum_skew_us = 9700) +sys={1.969800}, mono={1.969800}: enqueue packet 98 (accum_skew_us = 9800) +sys={1.989900}, mono={1.989900}: enqueue packet 99 (accum_skew_us = 9900) +sys={2.010000}, mono={2.010000}: enqueue packet 100 (accum_skew_us = 10000) +sys={2.030100}, mono={2.030100}: enqueue packet 101 (accum_skew_us = 10100) +sys={2.050200}, mono={2.050200}: enqueue packet 102 (accum_skew_us = 10200) +sys={2.070300}, mono={2.070300}: enqueue packet 103 (accum_skew_us = 10300) +sys={2.090400}, mono={2.090400}: enqueue packet 104 (accum_skew_us = 10400) +sys={2.110500}, mono={2.110500}: enqueue packet 105 (accum_skew_us = 10500) +sys={2.130600}, mono={2.130600}: enqueue packet 106 (accum_skew_us = 10600) +sys={2.150700}, mono={2.150700}: enqueue packet 107 (accum_skew_us = 10700) +sys={2.170800}, mono={2.170800}: enqueue packet 108 (accum_skew_us = 10800) +sys={2.190900}, mono={2.190900}: enqueue packet 109 (accum_skew_us = 10900) +sys={2.211000}, mono={2.211000}: enqueue packet 110 (accum_skew_us = 11000) +sys={2.231100}, mono={2.231100}: enqueue packet 111 (accum_skew_us = 11100) +sys={2.251200}, mono={2.251200}: enqueue packet 112 (accum_skew_us = 11200) +sys={2.271300}, mono={2.271300}: enqueue packet 113 (accum_skew_us = 11300) +sys={2.291400}, mono={2.291400}: enqueue packet 114 (accum_skew_us = 11400) +sys={2.311500}, mono={2.311500}: enqueue packet 115 (accum_skew_us = 11500) +sys={2.331600}, mono={2.331600}: enqueue packet 116 (accum_skew_us = 11600) +sys={2.351700}, mono={2.351700}: enqueue packet 117 (accum_skew_us = 11700) +sys={2.371800}, mono={2.371800}: enqueue packet 118 (accum_skew_us = 11800) +sys={2.391900}, mono={2.391900}: enqueue packet 119 (accum_skew_us = 11900) +sys={2.412000}, mono={2.412000}: enqueue packet 120 (accum_skew_us = 12000) +sys={2.432100}, mono={2.432100}: enqueue packet 121 (accum_skew_us = 12100) +sys={2.452200}, mono={2.452200}: enqueue packet 122 (accum_skew_us = 12200) +sys={2.472300}, mono={2.472300}: enqueue packet 123 (accum_skew_us = 12300) +sys={2.492400}, mono={2.492400}: enqueue packet 124 (accum_skew_us = 12400) +sys={2.512500}, mono={2.512500}: enqueue packet 125 (accum_skew_us = 12500) +sys={2.532600}, mono={2.532600}: enqueue packet 126 (accum_skew_us = 12600) +sys={2.552700}, mono={2.552700}: enqueue packet 127 (accum_skew_us = 12700) +sys={2.572800}, mono={2.572800}: enqueue packet 128 (accum_skew_us = 12800) +sys={2.592900}, mono={2.592900}: enqueue packet 129 (accum_skew_us = 12900) +sys={2.613000}, mono={2.613000}: enqueue packet 130 (accum_skew_us = 13000) +sys={2.633100}, mono={2.633100}: enqueue packet 131 (accum_skew_us = 13100) +sys={2.653200}, mono={2.653200}: enqueue packet 132 (accum_skew_us = 13200) +sys={2.673300}, mono={2.673300}: enqueue packet 133 (accum_skew_us = 13300) +sys={2.693400}, mono={2.693400}: enqueue packet 134 (accum_skew_us = 13400) +sys={2.713500}, mono={2.713500}: enqueue packet 135 (accum_skew_us = 13500) +sys={2.733600}, mono={2.733600}: enqueue packet 136 (accum_skew_us = 13600) +sys={2.753700}, mono={2.753700}: enqueue packet 137 (accum_skew_us = 13700) +sys={2.773800}, mono={2.773800}: enqueue packet 138 (accum_skew_us = 13800) +sys={2.793900}, mono={2.793900}: enqueue packet 139 (accum_skew_us = 13900) +sys={2.814000}, mono={2.814000}: enqueue packet 140 (accum_skew_us = 14000) +sys={2.834100}, mono={2.834100}: enqueue packet 141 (accum_skew_us = 14100) +sys={2.854200}, mono={2.854200}: enqueue packet 142 (accum_skew_us = 14200) +sys={2.874300}, mono={2.874300}: enqueue packet 143 (accum_skew_us = 14300) +sys={2.894400}, mono={2.894400}: enqueue packet 144 (accum_skew_us = 14400) +sys={2.914500}, mono={2.914500}: enqueue packet 145 (accum_skew_us = 14500) +sys={2.934600}, mono={2.934600}: enqueue packet 146 (accum_skew_us = 14600) +sys={2.954700}, mono={2.954700}: enqueue packet 147 (accum_skew_us = 14700) +sys={2.974800}, mono={2.974800}: enqueue packet 148 (accum_skew_us = 14800) +sys={2.994900}, mono={2.994900}: enqueue packet 149 (accum_skew_us = 14900) +sys={3.015000}, mono={3.015000}: enqueue packet 150 (accum_skew_us = 15000) +sys={3.035100}, mono={3.035100}: enqueue packet 151 (accum_skew_us = 15100) +sys={3.055200}, mono={3.055200}: enqueue packet 152 (accum_skew_us = 15200) +sys={3.075300}, mono={3.075300}: enqueue packet 153 (accum_skew_us = 15300) +sys={3.095400}, mono={3.095400}: enqueue packet 154 (accum_skew_us = 15400) +sys={3.115500}, mono={3.115500}: enqueue packet 155 (accum_skew_us = 15500) +sys={3.135600}, mono={3.135600}: enqueue packet 156 (accum_skew_us = 15600) +sys={3.155700}, mono={3.155700}: enqueue packet 157 (accum_skew_us = 15700) +sys={3.175800}, mono={3.175800}: enqueue packet 158 (accum_skew_us = 15800) +sys={3.195900}, mono={3.195900}: enqueue packet 159 (accum_skew_us = 15900) +sys={3.216000}, mono={3.216000}: enqueue packet 160 (accum_skew_us = 16000) +sys={3.236100}, mono={3.236100}: enqueue packet 161 (accum_skew_us = 16100) +sys={3.256200}, mono={3.256200}: enqueue packet 162 (accum_skew_us = 16200) +sys={3.276300}, mono={3.276300}: enqueue packet 163 (accum_skew_us = 16300) +sys={3.296400}, mono={3.296400}: enqueue packet 164 (accum_skew_us = 16400) +sys={3.316500}, mono={3.316500}: enqueue packet 165 (accum_skew_us = 16500) +sys={3.336600}, mono={3.336600}: enqueue packet 166 (accum_skew_us = 16600) +sys={3.356700}, mono={3.356700}: enqueue packet 167 (accum_skew_us = 16700) +sys={3.376800}, mono={3.376800}: enqueue packet 168 (accum_skew_us = 16800) +sys={3.396900}, mono={3.396900}: enqueue packet 169 (accum_skew_us = 16900) +sys={3.417000}, mono={3.417000}: enqueue packet 170 (accum_skew_us = 17000) +sys={3.437100}, mono={3.437100}: enqueue packet 171 (accum_skew_us = 17100) +sys={3.457200}, mono={3.457200}: enqueue packet 172 (accum_skew_us = 17200) +sys={3.477300}, mono={3.477300}: enqueue packet 173 (accum_skew_us = 17300) +sys={3.497400}, mono={3.497400}: enqueue packet 174 (accum_skew_us = 17400) +sys={3.517500}, mono={3.517500}: enqueue packet 175 (accum_skew_us = 17500) +sys={3.537600}, mono={3.537600}: enqueue packet 176 (accum_skew_us = 17600) +sys={3.557700}, mono={3.557700}: enqueue packet 177 (accum_skew_us = 17700) +sys={3.577800}, mono={3.577800}: enqueue packet 178 (accum_skew_us = 17800) +sys={3.597900}, mono={3.597900}: enqueue packet 179 (accum_skew_us = 17900) +sys={3.618000}, mono={3.618000}: enqueue packet 180 (accum_skew_us = 18000) +sys={3.638100}, mono={3.638100}: enqueue packet 181 (accum_skew_us = 18100) +sys={3.658200}, mono={3.658200}: enqueue packet 182 (accum_skew_us = 18200) +sys={3.678300}, mono={3.678300}: enqueue packet 183 (accum_skew_us = 18300) +sys={3.698400}, mono={3.698400}: enqueue packet 184 (accum_skew_us = 18400) +sys={3.718500}, mono={3.718500}: enqueue packet 185 (accum_skew_us = 18500) +sys={3.738600}, mono={3.738600}: enqueue packet 186 (accum_skew_us = 18600) +sys={3.758700}, mono={3.758700}: enqueue packet 187 (accum_skew_us = 18700) +sys={3.778800}, mono={3.778800}: enqueue packet 188 (accum_skew_us = 18800) +sys={3.798900}, mono={3.798900}: enqueue packet 189 (accum_skew_us = 18900) +sys={3.819000}, mono={3.819000}: enqueue packet 190 (accum_skew_us = 19000) +sys={3.839100}, mono={3.839100}: enqueue packet 191 (accum_skew_us = 19100) +sys={3.859200}, mono={3.859200}: enqueue packet 192 (accum_skew_us = 19200) +sys={3.879300}, mono={3.879300}: enqueue packet 193 (accum_skew_us = 19300) +sys={3.899400}, mono={3.899400}: enqueue packet 194 (accum_skew_us = 19400) +sys={3.919500}, mono={3.919500}: enqueue packet 195 (accum_skew_us = 19500) +sys={3.939600}, mono={3.939600}: enqueue packet 196 (accum_skew_us = 19600) +sys={3.959700}, mono={3.959700}: enqueue packet 197 (accum_skew_us = 19700) +sys={3.979800}, mono={3.979800}: enqueue packet 198 (accum_skew_us = 19800) +sys={3.999900}, mono={3.999900}: enqueue packet 199 (accum_skew_us = 19900) +sys={4.020000}, mono={4.020000}: enqueue packet 200 (accum_skew_us = 20000) +sys={4.040100}, mono={4.040100}: enqueue packet 201 (accum_skew_us = 20100) +sys={4.060200}, mono={4.060200}: enqueue packet 202 (accum_skew_us = 20200) +sys={4.080300}, mono={4.080300}: enqueue packet 203 (accum_skew_us = 20300) +sys={4.100400}, mono={4.100400}: enqueue packet 204 (accum_skew_us = 20400) +sys={4.120500}, mono={4.120500}: enqueue packet 205 (accum_skew_us = 20500) +sys={4.140600}, mono={4.140600}: enqueue packet 206 (accum_skew_us = 20600) +sys={4.160700}, mono={4.160700}: enqueue packet 207 (accum_skew_us = 20700) +sys={4.180800}, mono={4.180800}: enqueue packet 208 (accum_skew_us = 20800) +sys={4.200900}, mono={4.200900}: enqueue packet 209 (accum_skew_us = 20900) +sys={4.221000}, mono={4.221000}: enqueue packet 210 (accum_skew_us = 21000) +sys={4.241100}, mono={4.241100}: enqueue packet 211 (accum_skew_us = 21100) +sys={4.261200}, mono={4.261200}: enqueue packet 212 (accum_skew_us = 21200) +sys={4.281300}, mono={4.281300}: enqueue packet 213 (accum_skew_us = 21300) +sys={4.301400}, mono={4.301400}: enqueue packet 214 (accum_skew_us = 21400) +sys={4.321500}, mono={4.321500}: enqueue packet 215 (accum_skew_us = 21500) +sys={4.341600}, mono={4.341600}: enqueue packet 216 (accum_skew_us = 21600) +sys={4.361700}, mono={4.361700}: enqueue packet 217 (accum_skew_us = 21700) +sys={4.381800}, mono={4.381800}: enqueue packet 218 (accum_skew_us = 21800) +sys={4.401900}, mono={4.401900}: enqueue packet 219 (accum_skew_us = 21900) +sys={4.422000}, mono={4.422000}: enqueue packet 220 (accum_skew_us = 22000) +sys={4.442100}, mono={4.442100}: enqueue packet 221 (accum_skew_us = 22100) +sys={4.462200}, mono={4.462200}: enqueue packet 222 (accum_skew_us = 22200) +sys={4.482300}, mono={4.482300}: enqueue packet 223 (accum_skew_us = 22300) +sys={4.502400}, mono={4.502400}: enqueue packet 224 (accum_skew_us = 22400) +sys={4.522500}, mono={4.522500}: enqueue packet 225 (accum_skew_us = 22500) +sys={4.542600}, mono={4.542600}: enqueue packet 226 (accum_skew_us = 22600) +sys={4.562700}, mono={4.562700}: enqueue packet 227 (accum_skew_us = 22700) +sys={4.582800}, mono={4.582800}: enqueue packet 228 (accum_skew_us = 22800) +sys={4.602900}, mono={4.602900}: enqueue packet 229 (accum_skew_us = 22900) +sys={4.623000}, mono={4.623000}: enqueue packet 230 (accum_skew_us = 23000) +sys={4.643100}, mono={4.643100}: enqueue packet 231 (accum_skew_us = 23100) +sys={4.663200}, mono={4.663200}: enqueue packet 232 (accum_skew_us = 23200) +sys={4.683300}, mono={4.683300}: enqueue packet 233 (accum_skew_us = 23300) +sys={4.703400}, mono={4.703400}: enqueue packet 234 (accum_skew_us = 23400) +sys={4.723500}, mono={4.723500}: enqueue packet 235 (accum_skew_us = 23500) +sys={4.743600}, mono={4.743600}: enqueue packet 236 (accum_skew_us = 23600) +sys={4.763700}, mono={4.763700}: enqueue packet 237 (accum_skew_us = 23700) +sys={4.783800}, mono={4.783800}: enqueue packet 238 (accum_skew_us = 23800) +sys={4.803900}, mono={4.803900}: enqueue packet 239 (accum_skew_us = 23900) +sys={4.824000}, mono={4.824000}: enqueue packet 240 (accum_skew_us = 24000) +sys={4.844100}, mono={4.844100}: enqueue packet 241 (accum_skew_us = 24100) +sys={4.864200}, mono={4.864200}: enqueue packet 242 (accum_skew_us = 24200) +sys={4.884300}, mono={4.884300}: enqueue packet 243 (accum_skew_us = 24300) +sys={4.904400}, mono={4.904400}: enqueue packet 244 (accum_skew_us = 24400) +sys={4.924500}, mono={4.924500}: enqueue packet 245 (accum_skew_us = 24500) +sys={4.944600}, mono={4.944600}: enqueue packet 246 (accum_skew_us = 24600) +sys={4.964700}, mono={4.964700}: enqueue packet 247 (accum_skew_us = 24700) +sys={4.984800}, mono={4.984800}: enqueue packet 248 (accum_skew_us = 24800) +sys={5.004900}, mono={5.004900}: enqueue packet 249 (accum_skew_us = 24900) +sys={5.025000}, mono={5.025000}: enqueue packet 250 (accum_skew_us = 25000) +sys={5.045100}, mono={5.045100}: enqueue packet 251 (accum_skew_us = 25100) +sys={5.065200}, mono={5.065200}: enqueue packet 252 (accum_skew_us = 25200) +sys={5.085300}, mono={5.085300}: enqueue packet 253 (accum_skew_us = 25300) +sys={5.105400}, mono={5.105400}: enqueue packet 254 (accum_skew_us = 25400) +sys={5.125500}, mono={5.125500}: enqueue packet 255 (accum_skew_us = 25500) +sys={5.145600}, mono={5.145600}: enqueue packet 256 (accum_skew_us = 25600) +sys={5.165700}, mono={5.165700}: enqueue packet 257 (accum_skew_us = 25700) +sys={5.185800}, mono={5.185800}: enqueue packet 258 (accum_skew_us = 25800) +sys={5.205900}, mono={5.205900}: enqueue packet 259 (accum_skew_us = 25900) +sys={5.226000}, mono={5.226000}: enqueue packet 260 (accum_skew_us = 26000) +sys={5.246100}, mono={5.246100}: enqueue packet 261 (accum_skew_us = 26100) +sys={5.266200}, mono={5.266200}: enqueue packet 262 (accum_skew_us = 26200) +sys={5.286300}, mono={5.286300}: enqueue packet 263 (accum_skew_us = 26300) +sys={5.306400}, mono={5.306400}: enqueue packet 264 (accum_skew_us = 26400) +sys={5.326500}, mono={5.326500}: enqueue packet 265 (accum_skew_us = 26500) +sys={5.346600}, mono={5.346600}: enqueue packet 266 (accum_skew_us = 26600) +sys={5.366700}, mono={5.366700}: enqueue packet 267 (accum_skew_us = 26700) +sys={5.386800}, mono={5.386800}: enqueue packet 268 (accum_skew_us = 26800) +sys={5.406900}, mono={5.406900}: enqueue packet 269 (accum_skew_us = 26900) +sys={5.427000}, mono={5.427000}: enqueue packet 270 (accum_skew_us = 27000) +sys={5.447100}, mono={5.447100}: enqueue packet 271 (accum_skew_us = 27100) +sys={5.467200}, mono={5.467200}: enqueue packet 272 (accum_skew_us = 27200) +sys={5.487300}, mono={5.487300}: enqueue packet 273 (accum_skew_us = 27300) +sys={5.507400}, mono={5.507400}: enqueue packet 274 (accum_skew_us = 27400) +sys={5.527500}, mono={5.527500}: enqueue packet 275 (accum_skew_us = 27500) +sys={5.547600}, mono={5.547600}: enqueue packet 276 (accum_skew_us = 27600) +sys={5.567700}, mono={5.567700}: enqueue packet 277 (accum_skew_us = 27700) +sys={5.587800}, mono={5.587800}: enqueue packet 278 (accum_skew_us = 27800) +sys={5.607900}, mono={5.607900}: enqueue packet 279 (accum_skew_us = 27900) +sys={5.628000}, mono={5.628000}: enqueue packet 280 (accum_skew_us = 28000) +sys={5.648100}, mono={5.648100}: enqueue packet 281 (accum_skew_us = 28100) +sys={5.668200}, mono={5.668200}: enqueue packet 282 (accum_skew_us = 28200) +sys={5.688300}, mono={5.688300}: enqueue packet 283 (accum_skew_us = 28300) +sys={5.708400}, mono={5.708400}: enqueue packet 284 (accum_skew_us = 28400) +sys={5.728500}, mono={5.728500}: enqueue packet 285 (accum_skew_us = 28500) +sys={5.748600}, mono={5.748600}: enqueue packet 286 (accum_skew_us = 28600) +sys={5.768700}, mono={5.768700}: enqueue packet 287 (accum_skew_us = 28700) +sys={5.788800}, mono={5.788800}: enqueue packet 288 (accum_skew_us = 28800) +sys={5.808900}, mono={5.808900}: enqueue packet 289 (accum_skew_us = 28900) +sys={5.829000}, mono={5.829000}: enqueue packet 290 (accum_skew_us = 29000) +sys={5.849100}, mono={5.849100}: enqueue packet 291 (accum_skew_us = 29100) +sys={5.869200}, mono={5.869200}: enqueue packet 292 (accum_skew_us = 29200) +sys={5.889300}, mono={5.889300}: enqueue packet 293 (accum_skew_us = 29300) +sys={5.909400}, mono={5.909400}: enqueue packet 294 (accum_skew_us = 29400) +sys={5.929500}, mono={5.929500}: enqueue packet 295 (accum_skew_us = 29500) +sys={5.949600}, mono={5.949600}: enqueue packet 296 (accum_skew_us = 29600) +sys={5.969700}, mono={5.969700}: enqueue packet 297 (accum_skew_us = 29700) +sys={5.989800}, mono={5.989800}: enqueue packet 298 (accum_skew_us = 29800) +sys={6.009900}, mono={6.009900}: enqueue packet 299 (accum_skew_us = 29900) +sys={6.030000}, mono={6.030000}: enqueue packet 300 (accum_skew_us = 30000) +sys={6.050100}, mono={6.050100}: enqueue packet 301 (accum_skew_us = 30100) +sys={6.070200}, mono={6.070200}: enqueue packet 302 (accum_skew_us = 30200) +sys={6.090300}, mono={6.090300}: enqueue packet 303 (accum_skew_us = 30300) +sys={6.110400}, mono={6.110400}: enqueue packet 304 (accum_skew_us = 30400) +sys={6.130500}, mono={6.130500}: enqueue packet 305 (accum_skew_us = 30500) +sys={6.150600}, mono={6.150600}: enqueue packet 306 (accum_skew_us = 30600) +sys={6.170700}, mono={6.170700}: enqueue packet 307 (accum_skew_us = 30700) +sys={6.190800}, mono={6.190800}: enqueue packet 308 (accum_skew_us = 30800) +sys={6.210900}, mono={6.210900}: enqueue packet 309 (accum_skew_us = 30900) +sys={6.231000}, mono={6.231000}: enqueue packet 310 (accum_skew_us = 31000) +sys={6.251100}, mono={6.251100}: enqueue packet 311 (accum_skew_us = 31100) +sys={6.271200}, mono={6.271200}: enqueue packet 312 (accum_skew_us = 31200) +sys={6.291300}, mono={6.291300}: enqueue packet 313 (accum_skew_us = 31300) +sys={6.311400}, mono={6.311400}: enqueue packet 314 (accum_skew_us = 31400) +sys={6.331500}, mono={6.331500}: enqueue packet 315 (accum_skew_us = 31500) +sys={6.351600}, mono={6.351600}: enqueue packet 316 (accum_skew_us = 31600) +sys={6.371700}, mono={6.371700}: enqueue packet 317 (accum_skew_us = 31700) +sys={6.391800}, mono={6.391800}: enqueue packet 318 (accum_skew_us = 31800) +sys={6.411900}, mono={6.411900}: enqueue packet 319 (accum_skew_us = 31900) +sys={6.432000}, mono={6.432000}: enqueue packet 320 (accum_skew_us = 32000) +sys={6.452100}, mono={6.452100}: enqueue packet 321 (accum_skew_us = 32100) +sys={6.472200}, mono={6.472200}: enqueue packet 322 (accum_skew_us = 32200) +sys={6.492300}, mono={6.492300}: enqueue packet 323 (accum_skew_us = 32300) +sys={6.512400}, mono={6.512400}: enqueue packet 324 (accum_skew_us = 32400) +sys={6.532500}, mono={6.532500}: enqueue packet 325 (accum_skew_us = 32500) +sys={6.552600}, mono={6.552600}: enqueue packet 326 (accum_skew_us = 32600) +sys={6.572700}, mono={6.572700}: enqueue packet 327 (accum_skew_us = 32700) +sys={6.592800}, mono={6.592800}: enqueue packet 328 (accum_skew_us = 32800) +sys={6.612900}, mono={6.612900}: enqueue packet 329 (accum_skew_us = 32900) +sys={6.633000}, mono={6.633000}: enqueue packet 330 (accum_skew_us = 33000) +sys={6.653100}, mono={6.653100}: enqueue packet 331 (accum_skew_us = 33100) +sys={6.673200}, mono={6.673200}: enqueue packet 332 (accum_skew_us = 33200) +sys={6.693300}, mono={6.693300}: enqueue packet 333 (accum_skew_us = 33300) +sys={6.713400}, mono={6.713400}: enqueue packet 334 (accum_skew_us = 33400) +sys={6.733500}, mono={6.733500}: enqueue packet 335 (accum_skew_us = 33500) +sys={6.753600}, mono={6.753600}: enqueue packet 336 (accum_skew_us = 33600) +sys={6.773700}, mono={6.773700}: enqueue packet 337 (accum_skew_us = 33700) +sys={6.793800}, mono={6.793800}: enqueue packet 338 (accum_skew_us = 33800) +sys={6.813900}, mono={6.813900}: enqueue packet 339 (accum_skew_us = 33900) +sys={6.834000}, mono={6.834000}: enqueue packet 340 (accum_skew_us = 34000) +sys={6.854100}, mono={6.854100}: enqueue packet 341 (accum_skew_us = 34100) +sys={6.874200}, mono={6.874200}: enqueue packet 342 (accum_skew_us = 34200) +sys={6.894300}, mono={6.894300}: enqueue packet 343 (accum_skew_us = 34300) +sys={6.914400}, mono={6.914400}: enqueue packet 344 (accum_skew_us = 34400) +sys={6.934500}, mono={6.934500}: enqueue packet 345 (accum_skew_us = 34500) +sys={6.954600}, mono={6.954600}: enqueue packet 346 (accum_skew_us = 34600) +sys={6.974700}, mono={6.974700}: enqueue packet 347 (accum_skew_us = 34700) +sys={6.994800}, mono={6.994800}: enqueue packet 348 (accum_skew_us = 34800) +sys={7.014900}, mono={7.014900}: enqueue packet 349 (accum_skew_us = 34900) +sys={7.035000}, mono={7.035000}: enqueue packet 350 (accum_skew_us = 35000) +sys={7.055100}, mono={7.055100}: enqueue packet 351 (accum_skew_us = 35100) +sys={7.075200}, mono={7.075200}: enqueue packet 352 (accum_skew_us = 35200) +sys={7.095300}, mono={7.095300}: enqueue packet 353 (accum_skew_us = 35300) +sys={7.115400}, mono={7.115400}: enqueue packet 354 (accum_skew_us = 35400) +sys={7.135500}, mono={7.135500}: enqueue packet 355 (accum_skew_us = 35500) +sys={7.155600}, mono={7.155600}: enqueue packet 356 (accum_skew_us = 35600) +sys={7.175700}, mono={7.175700}: enqueue packet 357 (accum_skew_us = 35700) +sys={7.195800}, mono={7.195800}: enqueue packet 358 (accum_skew_us = 35800) +sys={7.215900}, mono={7.215900}: enqueue packet 359 (accum_skew_us = 35900) +sys={7.236000}, mono={7.236000}: enqueue packet 360 (accum_skew_us = 36000) +sys={7.256100}, mono={7.256100}: enqueue packet 361 (accum_skew_us = 36100) +sys={7.276200}, mono={7.276200}: enqueue packet 362 (accum_skew_us = 36200) +sys={7.296300}, mono={7.296300}: enqueue packet 363 (accum_skew_us = 36300) +sys={7.316400}, mono={7.316400}: enqueue packet 364 (accum_skew_us = 36400) +sys={7.336500}, mono={7.336500}: enqueue packet 365 (accum_skew_us = 36500) +sys={7.356600}, mono={7.356600}: enqueue packet 366 (accum_skew_us = 36600) +sys={7.376700}, mono={7.376700}: enqueue packet 367 (accum_skew_us = 36700) +sys={7.396800}, mono={7.396800}: enqueue packet 368 (accum_skew_us = 36800) +sys={7.416900}, mono={7.416900}: enqueue packet 369 (accum_skew_us = 36900) +sys={7.437000}, mono={7.437000}: enqueue packet 370 (accum_skew_us = 37000) +sys={7.457100}, mono={7.457100}: enqueue packet 371 (accum_skew_us = 37100) +sys={7.477200}, mono={7.477200}: enqueue packet 372 (accum_skew_us = 37200) +sys={7.497300}, mono={7.497300}: enqueue packet 373 (accum_skew_us = 37300) +sys={7.517400}, mono={7.517400}: enqueue packet 374 (accum_skew_us = 37400) +sys={7.537500}, mono={7.537500}: enqueue packet 375 (accum_skew_us = 37500) +sys={7.557600}, mono={7.557600}: enqueue packet 376 (accum_skew_us = 37600) +sys={7.577700}, mono={7.577700}: enqueue packet 377 (accum_skew_us = 37700) +sys={7.597800}, mono={7.597800}: enqueue packet 378 (accum_skew_us = 37800) +sys={7.617900}, mono={7.617900}: enqueue packet 379 (accum_skew_us = 37900) +sys={7.638000}, mono={7.638000}: enqueue packet 380 (accum_skew_us = 38000) +sys={7.658100}, mono={7.658100}: enqueue packet 381 (accum_skew_us = 38100) +sys={7.678200}, mono={7.678200}: enqueue packet 382 (accum_skew_us = 38200) +sys={7.698300}, mono={7.698300}: enqueue packet 383 (accum_skew_us = 38300) +sys={7.718400}, mono={7.718400}: enqueue packet 384 (accum_skew_us = 38400) +sys={7.738500}, mono={7.738500}: enqueue packet 385 (accum_skew_us = 38500) +sys={7.758600}, mono={7.758600}: enqueue packet 386 (accum_skew_us = 38600) +sys={7.778700}, mono={7.778700}: enqueue packet 387 (accum_skew_us = 38700) +sys={7.798800}, mono={7.798800}: enqueue packet 388 (accum_skew_us = 38800) +sys={7.818900}, mono={7.818900}: enqueue packet 389 (accum_skew_us = 38900) +sys={7.839000}, mono={7.839000}: enqueue packet 390 (accum_skew_us = 39000) +sys={7.859100}, mono={7.859100}: enqueue packet 391 (accum_skew_us = 39100) +sys={7.879200}, mono={7.879200}: enqueue packet 392 (accum_skew_us = 39200) +sys={7.899300}, mono={7.899300}: enqueue packet 393 (accum_skew_us = 39300) +sys={7.919400}, mono={7.919400}: enqueue packet 394 (accum_skew_us = 39400) +sys={7.939500}, mono={7.939500}: enqueue packet 395 (accum_skew_us = 39500) +sys={7.959600}, mono={7.959600}: enqueue packet 396 (accum_skew_us = 39600) +sys={7.979700}, mono={7.979700}: enqueue packet 397 (accum_skew_us = 39700) +sys={7.999800}, mono={7.999800}: enqueue packet 398 (accum_skew_us = 39800) +sys={8.019900}, mono={8.019900}: enqueue packet 399 (accum_skew_us = 39900) +sys={8.040000}, mono={8.040000}: enqueue packet 400 (accum_skew_us = 40000) +sys={8.060100}, mono={8.060100}: enqueue packet 401 (accum_skew_us = 40100) +sys={8.080200}, mono={8.080200}: enqueue packet 402 (accum_skew_us = 40200) +sys={8.100300}, mono={8.100300}: enqueue packet 403 (accum_skew_us = 40300) +sys={8.120400}, mono={8.120400}: enqueue packet 404 (accum_skew_us = 40400) +sys={8.140500}, mono={8.140500}: enqueue packet 405 (accum_skew_us = 40500) +sys={8.160600}, mono={8.160600}: enqueue packet 406 (accum_skew_us = 40600) +sys={8.180700}, mono={8.180700}: enqueue packet 407 (accum_skew_us = 40700) +sys={8.200800}, mono={8.200800}: enqueue packet 408 (accum_skew_us = 40800) +sys={8.220900}, mono={8.220900}: enqueue packet 409 (accum_skew_us = 40900) +sys={8.241000}, mono={8.241000}: enqueue packet 410 (accum_skew_us = 41000) +sys={8.261100}, mono={8.261100}: enqueue packet 411 (accum_skew_us = 41100) +sys={8.281200}, mono={8.281200}: enqueue packet 412 (accum_skew_us = 41200) +sys={8.301300}, mono={8.301300}: enqueue packet 413 (accum_skew_us = 41300) +sys={8.321400}, mono={8.321400}: enqueue packet 414 (accum_skew_us = 41400) +sys={8.341500}, mono={8.341500}: enqueue packet 415 (accum_skew_us = 41500) +sys={8.361600}, mono={8.361600}: enqueue packet 416 (accum_skew_us = 41600) +sys={8.381700}, mono={8.381700}: enqueue packet 417 (accum_skew_us = 41700) +sys={8.401800}, mono={8.401800}: enqueue packet 418 (accum_skew_us = 41800) +sys={8.421900}, mono={8.421900}: enqueue packet 419 (accum_skew_us = 41900) +sys={8.442000}, mono={8.442000}: enqueue packet 420 (accum_skew_us = 42000) +sys={8.462100}, mono={8.462100}: enqueue packet 421 (accum_skew_us = 42100) +sys={8.482200}, mono={8.482200}: enqueue packet 422 (accum_skew_us = 42200) +sys={8.502300}, mono={8.502300}: enqueue packet 423 (accum_skew_us = 42300) +sys={8.522400}, mono={8.522400}: enqueue packet 424 (accum_skew_us = 42400) +sys={8.542500}, mono={8.542500}: enqueue packet 425 (accum_skew_us = 42500) +sys={8.562600}, mono={8.562600}: enqueue packet 426 (accum_skew_us = 42600) +sys={8.582700}, mono={8.582700}: enqueue packet 427 (accum_skew_us = 42700) +sys={8.602800}, mono={8.602800}: enqueue packet 428 (accum_skew_us = 42800) +sys={8.622900}, mono={8.622900}: enqueue packet 429 (accum_skew_us = 42900) +sys={8.643000}, mono={8.643000}: enqueue packet 430 (accum_skew_us = 43000) +sys={8.663100}, mono={8.663100}: enqueue packet 431 (accum_skew_us = 43100) +sys={8.683200}, mono={8.683200}: enqueue packet 432 (accum_skew_us = 43200) +sys={8.703300}, mono={8.703300}: enqueue packet 433 (accum_skew_us = 43300) +sys={8.723400}, mono={8.723400}: enqueue packet 434 (accum_skew_us = 43400) +sys={8.743500}, mono={8.743500}: enqueue packet 435 (accum_skew_us = 43500) +sys={8.763600}, mono={8.763600}: enqueue packet 436 (accum_skew_us = 43600) +sys={8.783700}, mono={8.783700}: enqueue packet 437 (accum_skew_us = 43700) +sys={8.803800}, mono={8.803800}: enqueue packet 438 (accum_skew_us = 43800) +sys={8.823900}, mono={8.823900}: enqueue packet 439 (accum_skew_us = 43900) +sys={8.844000}, mono={8.844000}: enqueue packet 440 (accum_skew_us = 44000) +sys={8.864100}, mono={8.864100}: enqueue packet 441 (accum_skew_us = 44100) +sys={8.884200}, mono={8.884200}: enqueue packet 442 (accum_skew_us = 44200) +sys={8.904300}, mono={8.904300}: enqueue packet 443 (accum_skew_us = 44300) +sys={8.924400}, mono={8.924400}: enqueue packet 444 (accum_skew_us = 44400) +sys={8.944500}, mono={8.944500}: enqueue packet 445 (accum_skew_us = 44500) +sys={8.964600}, mono={8.964600}: enqueue packet 446 (accum_skew_us = 44600) +sys={8.984700}, mono={8.984700}: enqueue packet 447 (accum_skew_us = 44700) +sys={9.004800}, mono={9.004800}: enqueue packet 448 (accum_skew_us = 44800) +sys={9.024900}, mono={9.024900}: enqueue packet 449 (accum_skew_us = 44900) +===test_skew(100, 1)=== +sys={0.000000}, mono={0.000000}: clock_override_set +sys={0.000000}, mono={0.000000}: enqueue packet 0 (accum_skew_us = 0) +sys={0.020100}, mono={0.020100}: enqueue packet 1 (accum_skew_us = 100) +sys={0.040200}, mono={0.040200}: enqueue packet 2 (accum_skew_us = 200) +sys={0.060300}, mono={0.060300}: enqueue packet 3 (accum_skew_us = 300) +sys={0.080400}, mono={0.080400}: enqueue packet 4 (accum_skew_us = 400) +sys={0.100500}, mono={0.100500}: enqueue packet 5 (accum_skew_us = 500) +sys={0.120600}, mono={0.120600}: enqueue packet 6 (accum_skew_us = 600) +sys={0.140700}, mono={0.140700}: enqueue packet 7 (accum_skew_us = 700) +sys={0.160800}, mono={0.160800}: enqueue packet 8 (accum_skew_us = 800) +sys={0.180900}, mono={0.180900}: enqueue packet 9 (accum_skew_us = 900) +sys={0.201000}, mono={0.201000}: enqueue packet 10 (accum_skew_us = 1000) +sys={0.221100}, mono={0.221100}: enqueue packet 11 (accum_skew_us = 1100) +sys={0.241200}, mono={0.241200}: enqueue packet 12 (accum_skew_us = 1200) +sys={0.261300}, mono={0.261300}: enqueue packet 13 (accum_skew_us = 1300) +sys={0.281400}, mono={0.281400}: enqueue packet 14 (accum_skew_us = 1400) +sys={0.301500}, mono={0.301500}: enqueue packet 15 (accum_skew_us = 1500) +sys={0.321600}, mono={0.321600}: enqueue packet 16 (accum_skew_us = 1600) +sys={0.341700}, mono={0.341700}: enqueue packet 17 (accum_skew_us = 1700) +sys={0.361800}, mono={0.361800}: enqueue packet 18 (accum_skew_us = 1800) +sys={0.381900}, mono={0.381900}: enqueue packet 19 (accum_skew_us = 1900) +sys={0.402000}, mono={0.402000}: enqueue packet 20 (accum_skew_us = 2000) +sys={0.422100}, mono={0.422100}: enqueue packet 21 (accum_skew_us = 2100) +sys={0.442200}, mono={0.442200}: enqueue packet 22 (accum_skew_us = 2200) +sys={0.462300}, mono={0.462300}: enqueue packet 23 (accum_skew_us = 2300) +sys={0.482400}, mono={0.482400}: enqueue packet 24 (accum_skew_us = 2400) +sys={0.502500}, mono={0.502500}: enqueue packet 25 (accum_skew_us = 2500) +sys={0.522600}, mono={0.522600}: enqueue packet 26 (accum_skew_us = 2600) +sys={0.542700}, mono={0.542700}: enqueue packet 27 (accum_skew_us = 2700) +sys={0.562800}, mono={0.562800}: enqueue packet 28 (accum_skew_us = 2800) +sys={0.582900}, mono={0.582900}: enqueue packet 29 (accum_skew_us = 2900) +sys={0.603000}, mono={0.603000}: enqueue packet 30 (accum_skew_us = 3000) +sys={0.623100}, mono={0.623100}: enqueue packet 31 (accum_skew_us = 3100) +sys={0.643200}, mono={0.643200}: enqueue packet 32 (accum_skew_us = 3200) +sys={0.663300}, mono={0.663300}: enqueue packet 33 (accum_skew_us = 3300) +sys={0.683400}, mono={0.683400}: enqueue packet 34 (accum_skew_us = 3400) +sys={0.703500}, mono={0.703500}: enqueue packet 35 (accum_skew_us = 3500) +sys={0.723600}, mono={0.723600}: enqueue packet 36 (accum_skew_us = 3600) +sys={0.743700}, mono={0.743700}: enqueue packet 37 (accum_skew_us = 3700) +sys={0.763800}, mono={0.763800}: enqueue packet 38 (accum_skew_us = 3800) +sys={0.783900}, mono={0.783900}: enqueue packet 39 (accum_skew_us = 3900) +sys={0.804000}, mono={0.804000}: enqueue packet 40 (accum_skew_us = 4000) +sys={0.824100}, mono={0.824100}: enqueue packet 41 (accum_skew_us = 4100) +sys={0.844200}, mono={0.844200}: enqueue packet 42 (accum_skew_us = 4200) +sys={0.864300}, mono={0.864300}: enqueue packet 43 (accum_skew_us = 4300) +sys={0.884400}, mono={0.884400}: enqueue packet 44 (accum_skew_us = 4400) +sys={0.904500}, mono={0.904500}: enqueue packet 45 (accum_skew_us = 4500) +sys={0.924600}, mono={0.924600}: enqueue packet 46 (accum_skew_us = 4600) +sys={0.944700}, mono={0.944700}: enqueue packet 47 (accum_skew_us = 4700) +sys={0.964800}, mono={0.964800}: enqueue packet 48 (accum_skew_us = 4800) +sys={0.984900}, mono={0.984900}: enqueue packet 49 (accum_skew_us = 4900) +sys={1.005000}, mono={1.005000}: enqueue packet 50 (accum_skew_us = 5000) +sys={1.025100}, mono={1.025100}: enqueue packet 51 (accum_skew_us = 5100) +sys={1.045200}, mono={1.045200}: enqueue packet 52 (accum_skew_us = 5200) +sys={1.065300}, mono={1.065300}: enqueue packet 53 (accum_skew_us = 5300) +sys={1.085400}, mono={1.085400}: enqueue packet 54 (accum_skew_us = 5400) +sys={1.105500}, mono={1.105500}: enqueue packet 55 (accum_skew_us = 5500) +sys={1.125600}, mono={1.125600}: enqueue packet 56 (accum_skew_us = 5600) +sys={1.145700}, mono={1.145700}: enqueue packet 57 (accum_skew_us = 5700) +sys={1.165800}, mono={1.165800}: enqueue packet 58 (accum_skew_us = 5800) +sys={1.185900}, mono={1.185900}: enqueue packet 59 (accum_skew_us = 5900) +sys={1.206000}, mono={1.206000}: enqueue packet 60 (accum_skew_us = 6000) +sys={1.226100}, mono={1.226100}: enqueue packet 61 (accum_skew_us = 6100) +sys={1.246200}, mono={1.246200}: enqueue packet 62 (accum_skew_us = 6200) +sys={1.266300}, mono={1.266300}: enqueue packet 63 (accum_skew_us = 6300) +sys={1.286400}, mono={1.286400}: enqueue packet 64 (accum_skew_us = 6400) +sys={1.306500}, mono={1.306500}: enqueue packet 65 (accum_skew_us = 6500) +sys={1.326600}, mono={1.326600}: enqueue packet 66 (accum_skew_us = 6600) +sys={1.346700}, mono={1.346700}: enqueue packet 67 (accum_skew_us = 6700) +sys={1.366800}, mono={1.366800}: enqueue packet 68 (accum_skew_us = 6800) +sys={1.386900}, mono={1.386900}: enqueue packet 69 (accum_skew_us = 6900) +sys={1.407000}, mono={1.407000}: enqueue packet 70 (accum_skew_us = 7000) +sys={1.427100}, mono={1.427100}: enqueue packet 71 (accum_skew_us = 7100) +sys={1.447200}, mono={1.447200}: enqueue packet 72 (accum_skew_us = 7200) +sys={1.467300}, mono={1.467300}: enqueue packet 73 (accum_skew_us = 7300) +sys={1.487400}, mono={1.487400}: enqueue packet 74 (accum_skew_us = 7400) +sys={1.507500}, mono={1.507500}: enqueue packet 75 (accum_skew_us = 7500) +sys={1.527600}, mono={1.527600}: enqueue packet 76 (accum_skew_us = 7600) +sys={1.547700}, mono={1.547700}: enqueue packet 77 (accum_skew_us = 7700) +sys={1.567800}, mono={1.567800}: enqueue packet 78 (accum_skew_us = 7800) +sys={1.587900}, mono={1.587900}: enqueue packet 79 (accum_skew_us = 7900) +sys={1.608000}, mono={1.608000}: enqueue packet 80 (accum_skew_us = 8000) +sys={1.628100}, mono={1.628100}: enqueue packet 81 (accum_skew_us = 8100) +sys={1.648200}, mono={1.648200}: enqueue packet 82 (accum_skew_us = 8200) +sys={1.668300}, mono={1.668300}: enqueue packet 83 (accum_skew_us = 8300) +sys={1.688400}, mono={1.688400}: enqueue packet 84 (accum_skew_us = 8400) +sys={1.708500}, mono={1.708500}: enqueue packet 85 (accum_skew_us = 8500) +sys={1.728600}, mono={1.728600}: enqueue packet 86 (accum_skew_us = 8600) +sys={1.748700}, mono={1.748700}: enqueue packet 87 (accum_skew_us = 8700) +sys={1.768800}, mono={1.768800}: enqueue packet 88 (accum_skew_us = 8800) +sys={1.788900}, mono={1.788900}: enqueue packet 89 (accum_skew_us = 8900) +sys={1.809000}, mono={1.809000}: enqueue packet 90 (accum_skew_us = 9000) +sys={1.829100}, mono={1.829100}: enqueue packet 91 (accum_skew_us = 9100) +sys={1.849200}, mono={1.849200}: enqueue packet 92 (accum_skew_us = 9200) +sys={1.869300}, mono={1.869300}: enqueue packet 93 (accum_skew_us = 9300) +sys={1.889400}, mono={1.889400}: enqueue packet 94 (accum_skew_us = 9400) +sys={1.909500}, mono={1.909500}: enqueue packet 95 (accum_skew_us = 9500) +sys={1.929600}, mono={1.929600}: enqueue packet 96 (accum_skew_us = 9600) +sys={1.949700}, mono={1.949700}: enqueue packet 97 (accum_skew_us = 9700) +sys={1.969800}, mono={1.969800}: enqueue packet 98 (accum_skew_us = 9800) +sys={1.989900}, mono={1.989900}: enqueue packet 99 (accum_skew_us = 9900) +sys={2.010000}, mono={2.010000}: enqueue packet 100 (accum_skew_us = 10000) +sys={2.030100}, mono={2.030100}: enqueue packet 101 (accum_skew_us = 10100) +sys={2.050200}, mono={2.050200}: enqueue packet 102 (accum_skew_us = 10200) +sys={2.070300}, mono={2.070300}: enqueue packet 103 (accum_skew_us = 10300) +sys={2.090400}, mono={2.090400}: enqueue packet 104 (accum_skew_us = 10400) +sys={2.110500}, mono={2.110500}: enqueue packet 105 (accum_skew_us = 10500) +sys={2.130600}, mono={2.130600}: enqueue packet 106 (accum_skew_us = 10600) +sys={2.150700}, mono={2.150700}: enqueue packet 107 (accum_skew_us = 10700) +sys={2.170800}, mono={2.170800}: enqueue packet 108 (accum_skew_us = 10800) +sys={2.190900}, mono={2.190900}: enqueue packet 109 (accum_skew_us = 10900) +sys={2.211000}, mono={2.211000}: enqueue packet 110 (accum_skew_us = 11000) +sys={2.231100}, mono={2.231100}: enqueue packet 111 (accum_skew_us = 11100) +sys={2.251200}, mono={2.251200}: enqueue packet 112 (accum_skew_us = 11200) +sys={2.271300}, mono={2.271300}: enqueue packet 113 (accum_skew_us = 11300) +sys={2.291400}, mono={2.291400}: enqueue packet 114 (accum_skew_us = 11400) +sys={2.311500}, mono={2.311500}: enqueue packet 115 (accum_skew_us = 11500) +sys={2.331600}, mono={2.331600}: enqueue packet 116 (accum_skew_us = 11600) +sys={2.351700}, mono={2.351700}: enqueue packet 117 (accum_skew_us = 11700) +sys={2.371800}, mono={2.371800}: enqueue packet 118 (accum_skew_us = 11800) +sys={2.391900}, mono={2.391900}: enqueue packet 119 (accum_skew_us = 11900) +sys={2.412000}, mono={2.412000}: enqueue packet 120 (accum_skew_us = 12000) +sys={2.432100}, mono={2.432100}: enqueue packet 121 (accum_skew_us = 12100) +sys={2.452200}, mono={2.452200}: enqueue packet 122 (accum_skew_us = 12200) +sys={2.472300}, mono={2.472300}: enqueue packet 123 (accum_skew_us = 12300) +sys={2.492400}, mono={2.492400}: enqueue packet 124 (accum_skew_us = 12400) +sys={2.512500}, mono={2.512500}: enqueue packet 125 (accum_skew_us = 12500) +sys={2.532600}, mono={2.532600}: enqueue packet 126 (accum_skew_us = 12600) +sys={2.552700}, mono={2.552700}: enqueue packet 127 (accum_skew_us = 12700) +sys={2.572800}, mono={2.572800}: enqueue packet 128 (accum_skew_us = 12800) +sys={2.592900}, mono={2.592900}: enqueue packet 129 (accum_skew_us = 12900) +sys={2.613000}, mono={2.613000}: enqueue packet 130 (accum_skew_us = 13000) +sys={2.633100}, mono={2.633100}: enqueue packet 131 (accum_skew_us = 13100) +sys={2.653200}, mono={2.653200}: enqueue packet 132 (accum_skew_us = 13200) +sys={2.673300}, mono={2.673300}: enqueue packet 133 (accum_skew_us = 13300) +sys={2.693400}, mono={2.693400}: enqueue packet 134 (accum_skew_us = 13400) +sys={2.713500}, mono={2.713500}: enqueue packet 135 (accum_skew_us = 13500) +sys={2.733600}, mono={2.733600}: enqueue packet 136 (accum_skew_us = 13600) +sys={2.753700}, mono={2.753700}: enqueue packet 137 (accum_skew_us = 13700) +sys={2.773800}, mono={2.773800}: enqueue packet 138 (accum_skew_us = 13800) +sys={2.793900}, mono={2.793900}: enqueue packet 139 (accum_skew_us = 13900) +sys={2.814000}, mono={2.814000}: enqueue packet 140 (accum_skew_us = 14000) +sys={2.834100}, mono={2.834100}: enqueue packet 141 (accum_skew_us = 14100) +sys={2.854200}, mono={2.854200}: enqueue packet 142 (accum_skew_us = 14200) +sys={2.874300}, mono={2.874300}: enqueue packet 143 (accum_skew_us = 14300) +sys={2.894400}, mono={2.894400}: enqueue packet 144 (accum_skew_us = 14400) +sys={2.914500}, mono={2.914500}: enqueue packet 145 (accum_skew_us = 14500) +sys={2.934600}, mono={2.934600}: enqueue packet 146 (accum_skew_us = 14600) +sys={2.954700}, mono={2.954700}: enqueue packet 147 (accum_skew_us = 14700) +sys={2.974800}, mono={2.974800}: enqueue packet 148 (accum_skew_us = 14800) +sys={2.994900}, mono={2.994900}: enqueue packet 149 (accum_skew_us = 14900) +sys={3.015000}, mono={3.015000}: enqueue packet 150 (accum_skew_us = 15000) +sys={3.035100}, mono={3.035100}: enqueue packet 151 (accum_skew_us = 15100) +sys={3.055200}, mono={3.055200}: enqueue packet 152 (accum_skew_us = 15200) +sys={3.075300}, mono={3.075300}: enqueue packet 153 (accum_skew_us = 15300) +sys={3.095400}, mono={3.095400}: enqueue packet 154 (accum_skew_us = 15400) +sys={3.115500}, mono={3.115500}: enqueue packet 155 (accum_skew_us = 15500) +sys={3.135600}, mono={3.135600}: enqueue packet 156 (accum_skew_us = 15600) +sys={3.155700}, mono={3.155700}: enqueue packet 157 (accum_skew_us = 15700) +sys={3.175800}, mono={3.175800}: enqueue packet 158 (accum_skew_us = 15800) +sys={3.195900}, mono={3.195900}: enqueue packet 159 (accum_skew_us = 15900) +sys={3.216000}, mono={3.216000}: enqueue packet 160 (accum_skew_us = 16000) +sys={3.236100}, mono={3.236100}: enqueue packet 161 (accum_skew_us = 16100) +sys={3.256200}, mono={3.256200}: enqueue packet 162 (accum_skew_us = 16200) +sys={3.276300}, mono={3.276300}: enqueue packet 163 (accum_skew_us = 16300) +sys={3.296400}, mono={3.296400}: enqueue packet 164 (accum_skew_us = 16400) +sys={3.316500}, mono={3.316500}: enqueue packet 165 (accum_skew_us = 16500) +sys={3.336600}, mono={3.336600}: enqueue packet 166 (accum_skew_us = 16600) +sys={3.356700}, mono={3.356700}: enqueue packet 167 (accum_skew_us = 16700) +sys={3.376800}, mono={3.376800}: enqueue packet 168 (accum_skew_us = 16800) +sys={3.396900}, mono={3.396900}: enqueue packet 169 (accum_skew_us = 16900) +sys={3.417000}, mono={3.417000}: enqueue packet 170 (accum_skew_us = 17000) +sys={3.437100}, mono={3.437100}: enqueue packet 171 (accum_skew_us = 17100) +sys={3.457200}, mono={3.457200}: enqueue packet 172 (accum_skew_us = 17200) +sys={3.477300}, mono={3.477300}: enqueue packet 173 (accum_skew_us = 17300) +sys={3.497400}, mono={3.497400}: enqueue packet 174 (accum_skew_us = 17400) +sys={3.517500}, mono={3.517500}: enqueue packet 175 (accum_skew_us = 17500) +sys={3.537600}, mono={3.537600}: enqueue packet 176 (accum_skew_us = 17600) +sys={3.557700}, mono={3.557700}: enqueue packet 177 (accum_skew_us = 17700) +sys={3.577800}, mono={3.577800}: enqueue packet 178 (accum_skew_us = 17800) +sys={3.597900}, mono={3.597900}: enqueue packet 179 (accum_skew_us = 17900) +sys={3.618000}, mono={3.618000}: enqueue packet 180 (accum_skew_us = 18000) +sys={3.638100}, mono={3.638100}: enqueue packet 181 (accum_skew_us = 18100) +sys={3.658200}, mono={3.658200}: enqueue packet 182 (accum_skew_us = 18200) +sys={3.678300}, mono={3.678300}: enqueue packet 183 (accum_skew_us = 18300) +sys={3.698400}, mono={3.698400}: enqueue packet 184 (accum_skew_us = 18400) +sys={3.718500}, mono={3.718500}: enqueue packet 185 (accum_skew_us = 18500) +sys={3.738600}, mono={3.738600}: enqueue packet 186 (accum_skew_us = 18600) +sys={3.758700}, mono={3.758700}: enqueue packet 187 (accum_skew_us = 18700) +sys={3.778800}, mono={3.778800}: enqueue packet 188 (accum_skew_us = 18800) +sys={3.798900}, mono={3.798900}: enqueue packet 189 (accum_skew_us = 18900) +sys={3.819000}, mono={3.819000}: enqueue packet 190 (accum_skew_us = 19000) +sys={3.839100}, mono={3.839100}: enqueue packet 191 (accum_skew_us = 19100) +sys={3.859200}, mono={3.859200}: enqueue packet 192 (accum_skew_us = 19200) +sys={3.879300}, mono={3.879300}: enqueue packet 193 (accum_skew_us = 19300) +sys={3.899400}, mono={3.899400}: enqueue packet 194 (accum_skew_us = 19400) +sys={3.919500}, mono={3.919500}: enqueue packet 195 (accum_skew_us = 19500) +sys={3.939600}, mono={3.939600}: enqueue packet 196 (accum_skew_us = 19600) +sys={3.959700}, mono={3.959700}: enqueue packet 197 (accum_skew_us = 19700) +sys={3.979800}, mono={3.979800}: enqueue packet 198 (accum_skew_us = 19800) +sys={3.999900}, mono={3.999900}: enqueue packet 199 (accum_skew_us = 19900) +sys={4.020000}, mono={4.020000}: enqueue packet 200 (accum_skew_us = 20000) +sys={4.040100}, mono={4.040100}: enqueue packet 201 (accum_skew_us = 20100) +sys={4.060200}, mono={4.060200}: enqueue packet 202 (accum_skew_us = 20200) +sys={4.080300}, mono={4.080300}: enqueue packet 203 (accum_skew_us = 20300) +sys={4.100400}, mono={4.100400}: enqueue packet 204 (accum_skew_us = 20400) +sys={4.120500}, mono={4.120500}: enqueue packet 205 (accum_skew_us = 20500) +sys={4.140600}, mono={4.140600}: enqueue packet 206 (accum_skew_us = 20600) +sys={4.160700}, mono={4.160700}: enqueue packet 207 (accum_skew_us = 20700) +sys={4.180800}, mono={4.180800}: enqueue packet 208 (accum_skew_us = 20800) +sys={4.200900}, mono={4.200900}: enqueue packet 209 (accum_skew_us = 20900) +sys={4.221000}, mono={4.221000}: enqueue packet 210 (accum_skew_us = 21000) +sys={4.241100}, mono={4.241100}: enqueue packet 211 (accum_skew_us = 21100) +sys={4.261200}, mono={4.261200}: enqueue packet 212 (accum_skew_us = 21200) +sys={4.281300}, mono={4.281300}: enqueue packet 213 (accum_skew_us = 21300) +sys={4.301400}, mono={4.301400}: enqueue packet 214 (accum_skew_us = 21400) +sys={4.321500}, mono={4.321500}: enqueue packet 215 (accum_skew_us = 21500) +sys={4.341600}, mono={4.341600}: enqueue packet 216 (accum_skew_us = 21600) +sys={4.361700}, mono={4.361700}: enqueue packet 217 (accum_skew_us = 21700) +sys={4.381800}, mono={4.381800}: enqueue packet 218 (accum_skew_us = 21800) +sys={4.401900}, mono={4.401900}: enqueue packet 219 (accum_skew_us = 21900) +sys={4.422000}, mono={4.422000}: enqueue packet 220 (accum_skew_us = 22000) +sys={4.442100}, mono={4.442100}: enqueue packet 221 (accum_skew_us = 22100) +sys={4.462200}, mono={4.462200}: enqueue packet 222 (accum_skew_us = 22200) +sys={4.482300}, mono={4.482300}: enqueue packet 223 (accum_skew_us = 22300) +sys={4.502400}, mono={4.502400}: enqueue packet 224 (accum_skew_us = 22400) +sys={4.522500}, mono={4.522500}: enqueue packet 225 (accum_skew_us = 22500) +sys={4.542600}, mono={4.542600}: enqueue packet 226 (accum_skew_us = 22600) +sys={4.562700}, mono={4.562700}: enqueue packet 227 (accum_skew_us = 22700) +sys={4.582800}, mono={4.582800}: enqueue packet 228 (accum_skew_us = 22800) +sys={4.602900}, mono={4.602900}: enqueue packet 229 (accum_skew_us = 22900) +sys={4.623000}, mono={4.623000}: enqueue packet 230 (accum_skew_us = 23000) +sys={4.643100}, mono={4.643100}: enqueue packet 231 (accum_skew_us = 23100) +sys={4.663200}, mono={4.663200}: enqueue packet 232 (accum_skew_us = 23200) +sys={4.683300}, mono={4.683300}: enqueue packet 233 (accum_skew_us = 23300) +sys={4.703400}, mono={4.703400}: enqueue packet 234 (accum_skew_us = 23400) +sys={4.723500}, mono={4.723500}: enqueue packet 235 (accum_skew_us = 23500) +sys={4.743600}, mono={4.743600}: enqueue packet 236 (accum_skew_us = 23600) +sys={4.763700}, mono={4.763700}: enqueue packet 237 (accum_skew_us = 23700) +sys={4.783800}, mono={4.783800}: enqueue packet 238 (accum_skew_us = 23800) +sys={4.803900}, mono={4.803900}: enqueue packet 239 (accum_skew_us = 23900) +sys={4.824000}, mono={4.824000}: enqueue packet 240 (accum_skew_us = 24000) +sys={4.844100}, mono={4.844100}: enqueue packet 241 (accum_skew_us = 24100) +sys={4.864200}, mono={4.864200}: enqueue packet 242 (accum_skew_us = 24200) +sys={4.884300}, mono={4.884300}: enqueue packet 243 (accum_skew_us = 24300) +sys={4.904400}, mono={4.904400}: enqueue packet 244 (accum_skew_us = 24400) +sys={4.924500}, mono={4.924500}: enqueue packet 245 (accum_skew_us = 24500) +sys={4.944600}, mono={4.944600}: enqueue packet 246 (accum_skew_us = 24600) +sys={4.964700}, mono={4.964700}: enqueue packet 247 (accum_skew_us = 24700) +sys={4.984800}, mono={4.984800}: enqueue packet 248 (accum_skew_us = 24800) +sys={5.004900}, mono={5.004900}: enqueue packet 249 (accum_skew_us = 24900) +sys={5.025000}, mono={5.025000}: enqueue packet 250 (accum_skew_us = 25000) +sys={5.045100}, mono={5.045100}: enqueue packet 251 (accum_skew_us = 25100) +sys={5.065200}, mono={5.065200}: enqueue packet 252 (accum_skew_us = 25200) +sys={5.085300}, mono={5.085300}: enqueue packet 253 (accum_skew_us = 25300) +sys={5.105400}, mono={5.105400}: enqueue packet 254 (accum_skew_us = 25400) +sys={5.125500}, mono={5.125500}: enqueue packet 255 (accum_skew_us = 25500) +sys={5.145600}, mono={5.145600}: enqueue packet 256 (accum_skew_us = 25600) +sys={5.165700}, mono={5.165700}: enqueue packet 257 (accum_skew_us = 25700) +sys={5.185800}, mono={5.185800}: enqueue packet 258 (accum_skew_us = 25800) +sys={5.205900}, mono={5.205900}: enqueue packet 259 (accum_skew_us = 25900) +sys={5.226000}, mono={5.226000}: enqueue packet 260 (accum_skew_us = 26000) +sys={5.246100}, mono={5.246100}: enqueue packet 261 (accum_skew_us = 26100) +sys={5.266200}, mono={5.266200}: enqueue packet 262 (accum_skew_us = 26200) +sys={5.286300}, mono={5.286300}: enqueue packet 263 (accum_skew_us = 26300) +sys={5.306400}, mono={5.306400}: enqueue packet 264 (accum_skew_us = 26400) +sys={5.326500}, mono={5.326500}: enqueue packet 265 (accum_skew_us = 26500) +sys={5.346600}, mono={5.346600}: enqueue packet 266 (accum_skew_us = 26600) +sys={5.366700}, mono={5.366700}: enqueue packet 267 (accum_skew_us = 26700) +sys={5.386800}, mono={5.386800}: enqueue packet 268 (accum_skew_us = 26800) +sys={5.406900}, mono={5.406900}: enqueue packet 269 (accum_skew_us = 26900) +sys={5.427000}, mono={5.427000}: enqueue packet 270 (accum_skew_us = 27000) +sys={5.447100}, mono={5.447100}: enqueue packet 271 (accum_skew_us = 27100) +sys={5.467200}, mono={5.467200}: enqueue packet 272 (accum_skew_us = 27200) +sys={5.487300}, mono={5.487300}: enqueue packet 273 (accum_skew_us = 27300) +sys={5.507400}, mono={5.507400}: enqueue packet 274 (accum_skew_us = 27400) +sys={5.527500}, mono={5.527500}: enqueue packet 275 (accum_skew_us = 27500) +sys={5.547600}, mono={5.547600}: enqueue packet 276 (accum_skew_us = 27600) +sys={5.567700}, mono={5.567700}: enqueue packet 277 (accum_skew_us = 27700) +sys={5.587800}, mono={5.587800}: enqueue packet 278 (accum_skew_us = 27800) +sys={5.607900}, mono={5.607900}: enqueue packet 279 (accum_skew_us = 27900) +sys={5.628000}, mono={5.628000}: enqueue packet 280 (accum_skew_us = 28000) +sys={5.648100}, mono={5.648100}: enqueue packet 281 (accum_skew_us = 28100) +sys={5.668200}, mono={5.668200}: enqueue packet 282 (accum_skew_us = 28200) +sys={5.688300}, mono={5.688300}: enqueue packet 283 (accum_skew_us = 28300) +sys={5.708400}, mono={5.708400}: enqueue packet 284 (accum_skew_us = 28400) +sys={5.728500}, mono={5.728500}: enqueue packet 285 (accum_skew_us = 28500) +sys={5.748600}, mono={5.748600}: enqueue packet 286 (accum_skew_us = 28600) +sys={5.768700}, mono={5.768700}: enqueue packet 287 (accum_skew_us = 28700) +sys={5.788800}, mono={5.788800}: enqueue packet 288 (accum_skew_us = 28800) +sys={5.808900}, mono={5.808900}: enqueue packet 289 (accum_skew_us = 28900) +sys={5.829000}, mono={5.829000}: enqueue packet 290 (accum_skew_us = 29000) +sys={5.849100}, mono={5.849100}: enqueue packet 291 (accum_skew_us = 29100) +sys={5.869200}, mono={5.869200}: enqueue packet 292 (accum_skew_us = 29200) +sys={5.889300}, mono={5.889300}: enqueue packet 293 (accum_skew_us = 29300) +sys={5.909400}, mono={5.909400}: enqueue packet 294 (accum_skew_us = 29400) +sys={5.929500}, mono={5.929500}: enqueue packet 295 (accum_skew_us = 29500) +sys={5.949600}, mono={5.949600}: enqueue packet 296 (accum_skew_us = 29600) +sys={5.969700}, mono={5.969700}: enqueue packet 297 (accum_skew_us = 29700) +sys={5.989800}, mono={5.989800}: enqueue packet 298 (accum_skew_us = 29800) +sys={6.009900}, mono={6.009900}: enqueue packet 299 (accum_skew_us = 29900) +sys={6.030000}, mono={6.030000}: enqueue packet 300 (accum_skew_us = 30000) +sys={6.050100}, mono={6.050100}: enqueue packet 301 (accum_skew_us = 30100) +sys={6.070200}, mono={6.070200}: enqueue packet 302 (accum_skew_us = 30200) +sys={6.090300}, mono={6.090300}: enqueue packet 303 (accum_skew_us = 30300) +sys={6.110400}, mono={6.110400}: enqueue packet 304 (accum_skew_us = 30400) +sys={6.130500}, mono={6.130500}: enqueue packet 305 (accum_skew_us = 30500) +sys={6.150600}, mono={6.150600}: enqueue packet 306 (accum_skew_us = 30600) +sys={6.170700}, mono={6.170700}: enqueue packet 307 (accum_skew_us = 30700) +sys={6.190800}, mono={6.190800}: enqueue packet 308 (accum_skew_us = 30800) +sys={6.210900}, mono={6.210900}: enqueue packet 309 (accum_skew_us = 30900) +sys={6.231000}, mono={6.231000}: enqueue packet 310 (accum_skew_us = 31000) +sys={6.251100}, mono={6.251100}: enqueue packet 311 (accum_skew_us = 31100) +sys={6.271200}, mono={6.271200}: enqueue packet 312 (accum_skew_us = 31200) +sys={6.291300}, mono={6.291300}: enqueue packet 313 (accum_skew_us = 31300) +sys={6.311400}, mono={6.311400}: enqueue packet 314 (accum_skew_us = 31400) +sys={6.331500}, mono={6.331500}: enqueue packet 315 (accum_skew_us = 31500) +sys={6.351600}, mono={6.351600}: enqueue packet 316 (accum_skew_us = 31600) +sys={6.371700}, mono={6.371700}: enqueue packet 317 (accum_skew_us = 31700) +sys={6.391800}, mono={6.391800}: enqueue packet 318 (accum_skew_us = 31800) +sys={6.411900}, mono={6.411900}: enqueue packet 319 (accum_skew_us = 31900) +sys={6.432000}, mono={6.432000}: enqueue packet 320 (accum_skew_us = 32000) +sys={6.452100}, mono={6.452100}: enqueue packet 321 (accum_skew_us = 32100) +sys={6.472200}, mono={6.472200}: enqueue packet 322 (accum_skew_us = 32200) +sys={6.492300}, mono={6.492300}: enqueue packet 323 (accum_skew_us = 32300) +sys={6.512400}, mono={6.512400}: enqueue packet 324 (accum_skew_us = 32400) +sys={6.532500}, mono={6.532500}: enqueue packet 325 (accum_skew_us = 32500) +sys={6.552600}, mono={6.552600}: enqueue packet 326 (accum_skew_us = 32600) +sys={6.572700}, mono={6.572700}: enqueue packet 327 (accum_skew_us = 32700) +sys={6.592800}, mono={6.592800}: enqueue packet 328 (accum_skew_us = 32800) +sys={6.612900}, mono={6.612900}: enqueue packet 329 (accum_skew_us = 32900) +sys={6.633000}, mono={6.633000}: enqueue packet 330 (accum_skew_us = 33000) +sys={6.653100}, mono={6.653100}: enqueue packet 331 (accum_skew_us = 33100) +sys={6.673200}, mono={6.673200}: enqueue packet 332 (accum_skew_us = 33200) +sys={6.693300}, mono={6.693300}: enqueue packet 333 (accum_skew_us = 33300) +sys={6.713400}, mono={6.713400}: enqueue packet 334 (accum_skew_us = 33400) +sys={6.733500}, mono={6.733500}: enqueue packet 335 (accum_skew_us = 33500) +sys={6.753600}, mono={6.753600}: enqueue packet 336 (accum_skew_us = 33600) +sys={6.773700}, mono={6.773700}: enqueue packet 337 (accum_skew_us = 33700) +sys={6.793800}, mono={6.793800}: enqueue packet 338 (accum_skew_us = 33800) +sys={6.813900}, mono={6.813900}: enqueue packet 339 (accum_skew_us = 33900) +sys={6.834000}, mono={6.834000}: enqueue packet 340 (accum_skew_us = 34000) +sys={6.854100}, mono={6.854100}: enqueue packet 341 (accum_skew_us = 34100) +sys={6.874200}, mono={6.874200}: enqueue packet 342 (accum_skew_us = 34200) +sys={6.894300}, mono={6.894300}: enqueue packet 343 (accum_skew_us = 34300) +sys={6.914400}, mono={6.914400}: enqueue packet 344 (accum_skew_us = 34400) +sys={6.934500}, mono={6.934500}: enqueue packet 345 (accum_skew_us = 34500) +sys={6.954600}, mono={6.954600}: enqueue packet 346 (accum_skew_us = 34600) +sys={6.974700}, mono={6.974700}: enqueue packet 347 (accum_skew_us = 34700) +sys={6.994800}, mono={6.994800}: enqueue packet 348 (accum_skew_us = 34800) +sys={7.014900}, mono={7.014900}: enqueue packet 349 (accum_skew_us = 34900) +sys={7.035000}, mono={7.035000}: enqueue packet 350 (accum_skew_us = 35000) +sys={7.055100}, mono={7.055100}: enqueue packet 351 (accum_skew_us = 35100) +sys={7.075200}, mono={7.075200}: enqueue packet 352 (accum_skew_us = 35200) +sys={7.095300}, mono={7.095300}: enqueue packet 353 (accum_skew_us = 35300) +sys={7.115400}, mono={7.115400}: enqueue packet 354 (accum_skew_us = 35400) +sys={7.135500}, mono={7.135500}: enqueue packet 355 (accum_skew_us = 35500) +sys={7.155600}, mono={7.155600}: enqueue packet 356 (accum_skew_us = 35600) +sys={7.175700}, mono={7.175700}: enqueue packet 357 (accum_skew_us = 35700) +sys={7.195800}, mono={7.195800}: enqueue packet 358 (accum_skew_us = 35800) +sys={7.215900}, mono={7.215900}: enqueue packet 359 (accum_skew_us = 35900) +sys={7.236000}, mono={7.236000}: enqueue packet 360 (accum_skew_us = 36000) +sys={7.256100}, mono={7.256100}: enqueue packet 361 (accum_skew_us = 36100) +sys={7.276200}, mono={7.276200}: enqueue packet 362 (accum_skew_us = 36200) +sys={7.296300}, mono={7.296300}: enqueue packet 363 (accum_skew_us = 36300) +sys={7.316400}, mono={7.316400}: enqueue packet 364 (accum_skew_us = 36400) +sys={7.336500}, mono={7.336500}: enqueue packet 365 (accum_skew_us = 36500) +sys={7.356600}, mono={7.356600}: enqueue packet 366 (accum_skew_us = 36600) +sys={7.376700}, mono={7.376700}: enqueue packet 367 (accum_skew_us = 36700) +sys={7.396800}, mono={7.396800}: enqueue packet 368 (accum_skew_us = 36800) +sys={7.416900}, mono={7.416900}: enqueue packet 369 (accum_skew_us = 36900) +sys={7.437000}, mono={7.437000}: enqueue packet 370 (accum_skew_us = 37000) +sys={7.457100}, mono={7.457100}: enqueue packet 371 (accum_skew_us = 37100) +sys={7.477200}, mono={7.477200}: enqueue packet 372 (accum_skew_us = 37200) +sys={7.497300}, mono={7.497300}: enqueue packet 373 (accum_skew_us = 37300) +sys={7.517400}, mono={7.517400}: enqueue packet 374 (accum_skew_us = 37400) +sys={7.537500}, mono={7.537500}: enqueue packet 375 (accum_skew_us = 37500) +sys={7.557600}, mono={7.557600}: enqueue packet 376 (accum_skew_us = 37600) +sys={7.577700}, mono={7.577700}: enqueue packet 377 (accum_skew_us = 37700) +sys={7.597800}, mono={7.597800}: enqueue packet 378 (accum_skew_us = 37800) +sys={7.617900}, mono={7.617900}: enqueue packet 379 (accum_skew_us = 37900) +sys={7.638000}, mono={7.638000}: enqueue packet 380 (accum_skew_us = 38000) +sys={7.658100}, mono={7.658100}: enqueue packet 381 (accum_skew_us = 38100) +sys={7.678200}, mono={7.678200}: enqueue packet 382 (accum_skew_us = 38200) +sys={7.698300}, mono={7.698300}: enqueue packet 383 (accum_skew_us = 38300) +sys={7.718400}, mono={7.718400}: enqueue packet 384 (accum_skew_us = 38400) +sys={7.738500}, mono={7.738500}: enqueue packet 385 (accum_skew_us = 38500) +sys={7.758600}, mono={7.758600}: enqueue packet 386 (accum_skew_us = 38600) +sys={7.778700}, mono={7.778700}: enqueue packet 387 (accum_skew_us = 38700) +sys={7.798800}, mono={7.798800}: enqueue packet 388 (accum_skew_us = 38800) +sys={7.818900}, mono={7.818900}: enqueue packet 389 (accum_skew_us = 38900) +sys={7.839000}, mono={7.839000}: enqueue packet 390 (accum_skew_us = 39000) +sys={7.859100}, mono={7.859100}: enqueue packet 391 (accum_skew_us = 39100) +sys={7.879200}, mono={7.879200}: enqueue packet 392 (accum_skew_us = 39200) +sys={7.899300}, mono={7.899300}: enqueue packet 393 (accum_skew_us = 39300) +sys={7.919400}, mono={7.919400}: enqueue packet 394 (accum_skew_us = 39400) +sys={7.939500}, mono={7.939500}: enqueue packet 395 (accum_skew_us = 39500) +sys={7.959600}, mono={7.959600}: enqueue packet 396 (accum_skew_us = 39600) +sys={7.979700}, mono={7.979700}: enqueue packet 397 (accum_skew_us = 39700) +sys={7.999800}, mono={7.999800}: enqueue packet 398 (accum_skew_us = 39800) +sys={8.019900}, mono={8.019900}: enqueue packet 399 (accum_skew_us = 39900) +sys={8.040000}, mono={8.040000}: enqueue packet 400 (accum_skew_us = 40000) +sys={8.060100}, mono={8.060100}: enqueue packet 401 (accum_skew_us = 40100) +sys={8.080200}, mono={8.080200}: enqueue packet 402 (accum_skew_us = 40200) +sys={8.100300}, mono={8.100300}: enqueue packet 403 (accum_skew_us = 40300) +sys={8.120400}, mono={8.120400}: enqueue packet 404 (accum_skew_us = 40400) +sys={8.140500}, mono={8.140500}: enqueue packet 405 (accum_skew_us = 40500) +sys={8.160600}, mono={8.160600}: enqueue packet 406 (accum_skew_us = 40600) +sys={8.180700}, mono={8.180700}: enqueue packet 407 (accum_skew_us = 40700) +sys={8.200800}, mono={8.200800}: enqueue packet 408 (accum_skew_us = 40800) +sys={8.220900}, mono={8.220900}: enqueue packet 409 (accum_skew_us = 40900) +sys={8.241000}, mono={8.241000}: enqueue packet 410 (accum_skew_us = 41000) +sys={8.261100}, mono={8.261100}: enqueue packet 411 (accum_skew_us = 41100) +sys={8.281200}, mono={8.281200}: enqueue packet 412 (accum_skew_us = 41200) +sys={8.301300}, mono={8.301300}: enqueue packet 413 (accum_skew_us = 41300) +sys={8.321400}, mono={8.321400}: enqueue packet 414 (accum_skew_us = 41400) +sys={8.341500}, mono={8.341500}: enqueue packet 415 (accum_skew_us = 41500) +sys={8.361600}, mono={8.361600}: enqueue packet 416 (accum_skew_us = 41600) +sys={8.381700}, mono={8.381700}: enqueue packet 417 (accum_skew_us = 41700) +sys={8.401800}, mono={8.401800}: enqueue packet 418 (accum_skew_us = 41800) +sys={8.421900}, mono={8.421900}: enqueue packet 419 (accum_skew_us = 41900) +sys={8.442000}, mono={8.442000}: enqueue packet 420 (accum_skew_us = 42000) +sys={8.462100}, mono={8.462100}: enqueue packet 421 (accum_skew_us = 42100) +sys={8.482200}, mono={8.482200}: enqueue packet 422 (accum_skew_us = 42200) +sys={8.502300}, mono={8.502300}: enqueue packet 423 (accum_skew_us = 42300) +sys={8.522400}, mono={8.522400}: enqueue packet 424 (accum_skew_us = 42400) +sys={8.542500}, mono={8.542500}: enqueue packet 425 (accum_skew_us = 42500) +sys={8.562600}, mono={8.562600}: enqueue packet 426 (accum_skew_us = 42600) +sys={8.582700}, mono={8.582700}: enqueue packet 427 (accum_skew_us = 42700) +sys={8.602800}, mono={8.602800}: enqueue packet 428 (accum_skew_us = 42800) +sys={8.622900}, mono={8.622900}: enqueue packet 429 (accum_skew_us = 42900) +sys={8.643000}, mono={8.643000}: enqueue packet 430 (accum_skew_us = 43000) +sys={8.663100}, mono={8.663100}: enqueue packet 431 (accum_skew_us = 43100) +sys={8.683200}, mono={8.683200}: enqueue packet 432 (accum_skew_us = 43200) +sys={8.703300}, mono={8.703300}: enqueue packet 433 (accum_skew_us = 43300) +sys={8.723400}, mono={8.723400}: enqueue packet 434 (accum_skew_us = 43400) +sys={8.743500}, mono={8.743500}: enqueue packet 435 (accum_skew_us = 43500) +sys={8.763600}, mono={8.763600}: enqueue packet 436 (accum_skew_us = 43600) +sys={8.783700}, mono={8.783700}: enqueue packet 437 (accum_skew_us = 43700) +sys={8.803800}, mono={8.803800}: enqueue packet 438 (accum_skew_us = 43800) +sys={8.823900}, mono={8.823900}: enqueue packet 439 (accum_skew_us = 43900) +sys={8.844000}, mono={8.844000}: enqueue packet 440 (accum_skew_us = 44000) +sys={8.864100}, mono={8.864100}: enqueue packet 441 (accum_skew_us = 44100) +sys={8.884200}, mono={8.884200}: enqueue packet 442 (accum_skew_us = 44200) +sys={8.904300}, mono={8.904300}: enqueue packet 443 (accum_skew_us = 44300) +sys={8.924400}, mono={8.924400}: enqueue packet 444 (accum_skew_us = 44400) +sys={8.944500}, mono={8.944500}: enqueue packet 445 (accum_skew_us = 44500) +sys={8.964600}, mono={8.964600}: enqueue packet 446 (accum_skew_us = 44600) +sys={8.984700}, mono={8.984700}: enqueue packet 447 (accum_skew_us = 44700) +sys={9.004800}, mono={9.004800}: enqueue packet 448 (accum_skew_us = 44800) +sys={9.024900}, mono={9.024900}: enqueue packet 449 (accum_skew_us = 44900) OK: Test passed diff --git a/tests/jibuf/jibuf_tool.c b/tests/jibuf/jibuf_tool.c index dcfd130..bbba18d 100644 --- a/tests/jibuf/jibuf_tool.c +++ b/tests/jibuf/jibuf_tool.c @@ -43,6 +43,7 @@ struct rtp_pkt_info { struct timeval tx_prev_time; struct timeval tx_time; uint32_t tx_delay; + int32_t skew_us; struct checkpoint prequeue; struct checkpoint postqueue; }; @@ -56,6 +57,7 @@ static bool opt_test_rand; static bool opt_debug_human; static bool opt_debug_table; static bool opt_osmux; +static bool opt_skew; static char* opt_pcap_file; uint32_t opt_buffer_min = 60; uint32_t opt_buffer_max = 500; @@ -161,12 +163,12 @@ void trace_pkt(struct msgb *msg, char* info) { if (opt_debug_human) { uint32_t total_delay_ms = timeval2ms(&total_delay); LOGP(DLJIBUF, LOGL_DEBUG, "%s: seq=%"PRIu16" ts=%"PRIu32" (%ld.%06ld) tx_delay=%"PRIu32 \ - " end_delay=%"PRIu32" pre_trans=%d pre_jitter=%f post_trans=%d post_jitter=%f\n", + " end_delay=%"PRIu32" pre_trans=%d pre_jitter=%f post_trans=%d post_jitter=%f skew=%"PRId32"\n", info, ntohs(rtph->sequence), ntohl(rtph->timestamp), pinfo->tx_time.tv_sec, pinfo->tx_time.tv_usec, pinfo->tx_delay, total_delay_ms, pinfo->prequeue.transit, pinfo->prequeue.jitter, - pinfo->postqueue.transit, pinfo->postqueue.jitter); + pinfo->postqueue.transit, pinfo->postqueue.jitter, pinfo->skew_us); if (pinfo->prequeue.jitter < pinfo->postqueue.jitter) LOGP(DLJIBUF, LOGL_ERROR, "JITTER HIGHER THAN REF: seq=%"PRIu16" ts=%"PRIu32 \ @@ -186,12 +188,12 @@ void trace_pkt(struct msgb *msg, char* info) { uint32_t tx_time_ms = timeval2ms(&pinfo->tx_time); uint32_t prequeue_time_ms = timeval2ms(&pinfo->prequeue.ts); uint32_t postqueue_time_ms = timeval2ms(&pinfo->postqueue.ts); - fprintf(stderr, "%"PRIu16"\t%"PRIu32"\t%"PRIu32"\t%"PRIu32"\t%d\t%d\t%f\t%f\t%"PRIu32"\t%"PRIu32"\n", + fprintf(stderr, "%"PRIu16"\t%"PRIu32"\t%"PRIu32"\t%"PRIu32"\t%d\t%d\t%f\t%f\t%"PRIu32"\t%"PRIu32"\t%f\n", ntohs(rtph->sequence), tx_time_ms, prequeue_time_ms, postqueue_time_ms, pinfo->prequeue.transit, pinfo->postqueue.transit, pinfo->prequeue.jitter, pinfo->postqueue.jitter, - packets_dropped, jb->threshold_delay); + packets_dropped, jb->threshold_delay, (double)jb->skew_us/1000.0); } } @@ -313,6 +315,10 @@ void pkt_arrived_cb(void *data) int n = osmo_jibuf_enqueue(jb, msg); + /* skew has been updated with this new packet. We pick the updated one + * as it's the one applied to this packet. */ + pinfo->skew_us = jb->skew_us; + if (n<0) { pkt_add_result(msg, true); osmo_timer_del(&pinfo->timer); @@ -478,7 +484,7 @@ void rand_test() osmo_jibuf_set_min_delay(jb, GENERATED_JITTER_MS - RTP_FREQ_MS); osmo_jibuf_set_max_delay(jb, GENERATED_JITTER_MS + RTP_FREQ_MS*2); - + osmo_jibuf_enable_skew_compensation(jb, opt_skew); osmo_jibuf_set_dequeue_cb(jb, dequeue_cb, NULL); /* first run */ @@ -518,6 +524,7 @@ void pcap_test() { osmo_jibuf_set_dequeue_cb(jb, dequeue_cb, NULL); osmo_jibuf_set_min_delay(jb, opt_buffer_min); osmo_jibuf_set_max_delay(jb, opt_buffer_max); + osmo_jibuf_enable_skew_compensation(jb, opt_skew); /* first run */ pcap_pkt_timer_cb(NULL); @@ -532,13 +539,14 @@ void pcap_test() { static void print_help(void) { - printf("jibuf_test [-r] [-p pcap] [-o] [-d] [-g] [-m ms] [-M ms]\n"); + printf("jibuf_test [-r] [-p pcap] [-o] [-d] [-g] [-s] [-m ms] [-M ms]\n"); printf(" -h Print this help message\n"); printf(" -r Run test with randomly generated jitter\n"); printf(" -p Run test with specified pcap file\n"); printf(" -o The pcap contains OSMUX packets isntead of RTP\n"); printf(" -d Enable packet trace debug suitable for humans\n"); printf(" -t Enable packet trace debug suitable for gnuplot\n"); + printf(" -s Enable skew estimation and compensation algorithm on the jitter-buffer\n"); printf(" -m Minimum buffer size for the jitter-buffer, in ms (only used in -p mode)\n"); printf(" -M Maximum buffer size for the jitter-buffer, in ms (only used in -p mode)\n"); } @@ -547,7 +555,7 @@ static int parse_options(int argc, char **argv) { int opt; - while ((opt = getopt(argc, argv, "hdtrop:m:M:")) != -1) { + while ((opt = getopt(argc, argv, "hdtrosp:m:M:")) != -1) { switch (opt) { case 'h': print_help(); @@ -564,6 +572,9 @@ static int parse_options(int argc, char **argv) case 'o': opt_osmux = true; break; + case 's': + opt_skew = true; + break; case 'p': opt_pcap_file = strdup(optarg); break; diff --git a/tests/jibuf/jitter.plt b/tests/jibuf/jitter.plt index 0235170..fb606cf 100644 --- a/tests/jibuf/jitter.plt +++ b/tests/jibuf/jitter.plt @@ -33,6 +33,7 @@ if (pcap) { '/tmp/bla' using 4:8 with linespoints title 'post.jitter' axes x1y1, \ '/tmp/bla' using 3:9 with linespoints title 'pre.dropped' axes x1y1, \ '/tmp/bla' using 3:10 with linespoints title 'pre.buffer' axes x1y1, \ + '/tmp/bla' using 3:11 with linespoints title 'pre.skew' axes x1y1, \ '/tmp/bla' using 4:((column(4)-column(2))) with linespoints title 'post.delay' axes x1y1 } else { @@ -43,6 +44,7 @@ if (pcap) { '/tmp/bla' using 4:8 with linespoints title 'post.jitter' axes x1y1, \ '/tmp/bla' using 3:9 with linespoints title 'pre.dropped' axes x1y1, \ '/tmp/bla' using 3:10 with linespoints title 'pre.buffer' axes x1y1, \ + '/tmp/bla' using 3:11 with linespoints title 'pre.skew' axes x1y1, \ '/tmp/bla' using 3:((column(3)-column(2))) with linespoints title 'pre.delay' axes x1y1, \ '/tmp/bla' using 4:((column(4)-column(2))) with linespoints title 'post.delay' axes x1y1 } |