Review at  https://gerrit.osmocom.org/7781

jibuf: Estimate src clock skew

Change-Id: Ifae633d53107417a8e2f9b0f200d2711db72d199
---
M include/osmocom/netif/jibuf.h
M src/jibuf.c
M tests/jibuf/jibuf_test.c
M tests/jibuf/jibuf_test.ok
M tests/jibuf/jibuf_tool.c
M tests/jibuf/jitter.plt
6 files changed, 1,005 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.osmocom.org:29418/libosmo-netif refs/changes/81/7781/1

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 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 @@
 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 @@
        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);
@@ -213,6 +217,14 @@
        /* XXX: maybe  try to tune the threshold based on the calculated output 
jitter? */
        /* XXX: try to find holes in the list and create fake pkts to improve 
the
                 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 @@
                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 @@
        //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 @@
        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 @@
        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 @@
        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 @@
        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 @@
        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.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 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_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 @@
        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 @@
        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);
        }
 }
 
@@ -312,6 +314,10 @@
        prequeue_prev.seq = htons(rtph->sequence);
 
        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);
@@ -478,7 +484,7 @@
 
        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 @@
        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 @@
 
 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 @@
 {
        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 @@
                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 @@
         '/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 @@
         '/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
 }

-- 
To view, visit https://gerrit.osmocom.org/7781
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifae633d53107417a8e2f9b0f200d2711db72d199
Gerrit-PatchSet: 1
Gerrit-Project: libosmo-netif
Gerrit-Branch: master
Gerrit-Owner: Pau Espin Pedrol <pes...@sysmocom.de>

Reply via email to