aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJacob Erlbeck <jerlbeck@sysmocom.de>2014-01-30 21:01:33 +0100
committerHolger Hans Peter Freyther <holger@moiji-mobile.com>2014-01-31 11:18:25 +0100
commite763f3e73eb22ddf72a3ec56fab0309ab4f9a7cc (patch)
tree318dfb7b8172e074bac4bdae3c51d5518cca8679
parentcf577c349215fa0ddcec03f683c8d007fe26fe70 (diff)
mgcp/test: Fake wallclock for RTP timing/stats tests
Currently the stats (jitter, transit) cannot be checked properly, since they depend on the wallclock time. This patch fakes clock_gettime (CLOCK_MONOTONIC) to reflect the scheduling time of the RTP packets. In addition, the RTP statistical value are written to stdout. A RTP test case with a SSRC change along with a reference time delay has been added. Sponsored-by: On-Waves ehf
-rw-r--r--openbsc/tests/mgcp/mgcp_test.c38
-rw-r--r--openbsc/tests/mgcp/mgcp_test.ok146
2 files changed, 184 insertions, 0 deletions
diff --git a/openbsc/tests/mgcp/mgcp_test.c b/openbsc/tests/mgcp/mgcp_test.c
index 5f6907281..d1c128402 100644
--- a/openbsc/tests/mgcp/mgcp_test.c
+++ b/openbsc/tests/mgcp/mgcp_test.c
@@ -27,6 +27,7 @@
#include <string.h>
#include <limits.h>
#include <dlfcn.h>
+#include <time.h>
char *strline_r(char *str, char **saveptr);
@@ -321,6 +322,25 @@ ssize_t sendto(int sockfd, const void *buf, size_t len, int flags,
return real_sendto(sockfd, buf, len, flags, dest_addr, addrlen);
}
+static int64_t force_monotonic_time_us = -1;
+/* override and forward */
+int clock_gettime(clockid_t clk_id, struct timespec *tp)
+{
+ typedef int (*clock_gettime_t)(clockid_t clk_id, struct timespec *tp);
+ static clock_gettime_t real_clock_gettime = NULL;
+
+ if (!real_clock_gettime)
+ real_clock_gettime = dlsym(RTLD_NEXT, "clock_gettime");
+
+ if (clk_id == CLOCK_MONOTONIC && force_monotonic_time_us >= 0) {
+ tp->tv_sec = force_monotonic_time_us / 1000000;
+ tp->tv_nsec = (force_monotonic_time_us % 1000000) * 1000;
+ return 0;
+ }
+
+ return real_clock_gettime(clk_id, tp);
+}
+
#define CONN_UNMODIFIED (0x1000)
static void test_values(void)
@@ -720,6 +740,17 @@ struct rtp_packet_info test_rtp_packets1[] = {
/* RTP: SeqNo=25, TS=36888 */
{0.500000, 20, "\x80\x62\x00\x19\x00\x00\x90\x18\x10\x20\x30\x40"
"\x01\x23\x45\x67\x89\xAB\xCD\xEF"},
+ /* SSRC changed to 0x50607080, RTP timestamp jump, Delay of 1.5s,
+ * SeqNo jump */
+ /* RTP: SeqNo=1000, TS=160000 */
+ {2.000000, 20, "\x80\x62\x03\xE8\x00\x02\x71\x00\x50\x60\x70\x80"
+ "\x01\x23\x45\x67\x89\xAB\xCD\xEF"},
+ /* RTP: SeqNo=1001, TS=160160 */
+ {2.020000, 20, "\x80\x62\x03\xE9\x00\x02\x71\xA0\x50\x60\x70\x80"
+ "\x01\x23\x45\x67\x89\xAB\xCD\xEF"},
+ /* RTP: SeqNo=1002, TS=160320 */
+ {2.040000, 20, "\x80\x62\x03\xEA\x00\x02\x72\x40\x50\x60\x70\x80"
+ "\x01\x23\x45\x67\x89\xAB\xCD\xEF"},
};
void mgcp_patch_and_count(struct mgcp_endpoint *endp, struct mgcp_rtp_state *state,
@@ -769,6 +800,8 @@ static void test_packet_error_detection(int patch_ssrc, int patch_ts)
for (i = 0; i < ARRAY_SIZE(test_rtp_packets1); ++i) {
struct rtp_packet_info *info = test_rtp_packets1 + i;
+ force_monotonic_time_us = 1000000ULL * info->txtime;
+
OSMO_ASSERT(info->len <= sizeof(buffer));
OSMO_ASSERT(info->len >= 0);
memmove(buffer, info->data, info->len);
@@ -797,11 +830,16 @@ static void test_packet_error_detection(int patch_ssrc, int patch_ts)
state.in_stream.err_ts_counter - last_in_ts_err_cnt,
state.out_stream.err_ts_counter - last_out_ts_err_cnt);
+ printf("Stats: Jitter = %u, Transit = %u\n",
+ mgcp_state_calc_jitter(&state), state.transit);
+
last_in_ts_err_cnt = state.in_stream.err_ts_counter;
last_out_ts_err_cnt = state.out_stream.err_ts_counter;
last_timestamp = state.out_stream.last_timestamp;
last_seqno = state.out_stream.last_seq;
}
+
+ force_monotonic_time_us = -1;
}
int main(int argc, char **argv)
diff --git a/openbsc/tests/mgcp/mgcp_test.ok b/openbsc/tests/mgcp/mgcp_test.ok
index 76806f9a4..6e9df8d3c 100644
--- a/openbsc/tests/mgcp/mgcp_test.ok
+++ b/openbsc/tests/mgcp/mgcp_test.ok
@@ -87,226 +87,372 @@ Testing packet error detection, patch SSRC.
Output SSRC changed to 11223344
In TS: 0, dTS: 0, Seq: 0
Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 0, Transit = 0
In TS: 160, dTS: 160, Seq: 1
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 8, Transit = 4294967155
In TS: 320, dTS: 160, Seq: 2
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967015
In TS: 320, dTS: 160, Seq: 3
Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967035
In TS: 480, dTS: 160, Seq: 4
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 24, Transit = 4294966895
In TS: 640, dTS: 160, Seq: 5
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 32, Transit = 4294966756
In TS: 960, dTS: 320, Seq: 6
Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 48, Transit = 4294966455
In TS: 1120, dTS: 160, Seq: 7
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 54, Transit = 4294966316
In TS: 1280, dTS: 160, Seq: 8
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 59, Transit = 4294966175
In TS: 1400, dTS: 120, Seq: 9
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
+Stats: Jitter = 62, Transit = 4294966076
In TS: 1560, dTS: 160, Seq: 10
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 67, Transit = 4294965936
In TS: 1720, dTS: 160, Seq: 11
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 71, Transit = 4294965795
In TS: 34688, dTS: 0, Seq: 12
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 76, Transit = 4294965655
In TS: 34848, dTS: 160, Seq: 13
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 80, Transit = 4294965515
In TS: 35008, dTS: 160, Seq: 14
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 83, Transit = 4294965376
In TS: 35128, dTS: 120, Seq: 15
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
+Stats: Jitter = 84, Transit = 4294965276
In TS: 35288, dTS: 160, Seq: 16
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 88, Transit = 4294965135
In TS: 35448, dTS: 160, Seq: 17
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 91, Transit = 4294964996
In TS: 35768, dTS: 160, Seq: 19
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
+Stats: Jitter = 104, Transit = 4294964696
In TS: 35928, dTS: 160, Seq: 20
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 106, Transit = 4294964555
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 110, Transit = 4294964395
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 104, Transit = 4294964416
In TS: 36248, dTS: 160, Seq: 22
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 106, Transit = 4294964275
In TS: 36408, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 108, Transit = 4294964135
In TS: 36568, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
+Stats: Jitter = 110, Transit = 4294963996
In TS: 36728, dTS: 160, Seq: 24
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 112, Transit = 4294963855
In TS: 36888, dTS: 160, Seq: 25
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 114, Transit = 4294963716
+In TS: 160000, dTS: 0, Seq: 1000
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 190, Transit = 4294965056
+In TS: 160160, dTS: 160, Seq: 1001
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 187, Transit = 4294964915
+In TS: 160320, dTS: 160, Seq: 1002
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 184, Transit = 4294964775
Testing packet error detection.
Output SSRC changed to 11223344
In TS: 0, dTS: 0, Seq: 0
Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 0, Transit = 0
In TS: 160, dTS: 160, Seq: 1
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 8, Transit = 4294967155
In TS: 320, dTS: 160, Seq: 2
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967015
In TS: 320, dTS: 160, Seq: 3
Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967035
In TS: 480, dTS: 160, Seq: 4
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 24, Transit = 4294966895
In TS: 640, dTS: 160, Seq: 5
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 32, Transit = 4294966756
In TS: 960, dTS: 320, Seq: 6
Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 48, Transit = 4294966455
In TS: 1120, dTS: 160, Seq: 7
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 54, Transit = 4294966316
In TS: 1280, dTS: 160, Seq: 8
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 59, Transit = 4294966175
In TS: 1400, dTS: 120, Seq: 9
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
+Stats: Jitter = 62, Transit = 4294966076
In TS: 1560, dTS: 160, Seq: 10
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 67, Transit = 4294965936
In TS: 1720, dTS: 160, Seq: 11
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 71, Transit = 4294965795
Output SSRC changed to 10203040
In TS: 34688, dTS: 0, Seq: 12
Out TS change: 32968, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 2126, Transit = 4294932847
In TS: 34848, dTS: 160, Seq: 13
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 2002, Transit = 4294932707
In TS: 35008, dTS: 160, Seq: 14
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1885, Transit = 4294932568
In TS: 35128, dTS: 120, Seq: 15
Out TS change: 120, dTS: 120, Seq change: 1, TS Err change: in +1, out +1
+Stats: Jitter = 1774, Transit = 4294932468
In TS: 35288, dTS: 160, Seq: 16
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1672, Transit = 4294932327
In TS: 35448, dTS: 160, Seq: 17
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1576, Transit = 4294932188
In TS: 35768, dTS: 160, Seq: 19
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
+Stats: Jitter = 1496, Transit = 4294931888
In TS: 35928, dTS: 160, Seq: 20
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1411, Transit = 4294931747
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1333, Transit = 4294931587
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 1251, Transit = 4294931608
In TS: 36248, dTS: 160, Seq: 22
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1182, Transit = 4294931467
In TS: 36408, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1117, Transit = 4294931327
In TS: 36568, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
+Stats: Jitter = 1055, Transit = 4294931188
In TS: 36728, dTS: 160, Seq: 24
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 998, Transit = 4294931047
In TS: 36888, dTS: 160, Seq: 25
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 945, Transit = 4294930908
+Output SSRC changed to 50607080
+In TS: 160000, dTS: 0, Seq: 1000
+Out TS change: 123112, dTS: 160, Seq change: 975, TS Err change: in +0, out +0
+Stats: Jitter = 8486, Transit = 4294809296
+In TS: 160160, dTS: 160, Seq: 1001
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 7965, Transit = 4294809155
+In TS: 160320, dTS: 160, Seq: 1002
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 7476, Transit = 4294809015
Testing packet error detection, patch timestamps.
Output SSRC changed to 11223344
In TS: 0, dTS: 0, Seq: 0
Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 0, Transit = 0
In TS: 160, dTS: 160, Seq: 1
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 8, Transit = 4294967155
In TS: 320, dTS: 160, Seq: 2
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967015
In TS: 320, dTS: 160, Seq: 3
Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967035
In TS: 480, dTS: 160, Seq: 4
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 24, Transit = 4294966895
In TS: 640, dTS: 160, Seq: 5
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 32, Transit = 4294966756
In TS: 960, dTS: 320, Seq: 6
Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 48, Transit = 4294966455
In TS: 1120, dTS: 160, Seq: 7
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 54, Transit = 4294966316
In TS: 1280, dTS: 160, Seq: 8
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 59, Transit = 4294966175
In TS: 1400, dTS: 120, Seq: 9
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
+Stats: Jitter = 64, Transit = 4294966036
In TS: 1560, dTS: 160, Seq: 10
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 69, Transit = 4294965896
In TS: 1720, dTS: 160, Seq: 11
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 73, Transit = 4294965755
Output SSRC changed to 10203040
In TS: 34688, dTS: 0, Seq: 12
Out TS change: 32968, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 2128, Transit = 4294932807
In TS: 34848, dTS: 160, Seq: 13
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 2004, Transit = 4294932667
In TS: 35008, dTS: 160, Seq: 14
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1887, Transit = 4294932528
In TS: 35128, dTS: 120, Seq: 15
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
+Stats: Jitter = 1778, Transit = 4294932388
In TS: 35288, dTS: 160, Seq: 16
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1676, Transit = 4294932247
In TS: 35448, dTS: 160, Seq: 17
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1580, Transit = 4294932108
In TS: 35768, dTS: 160, Seq: 19
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
+Stats: Jitter = 1500, Transit = 4294931808
In TS: 35928, dTS: 160, Seq: 20
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1415, Transit = 4294931667
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1336, Transit = 4294931507
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 1254, Transit = 4294931528
In TS: 36248, dTS: 160, Seq: 22
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1184, Transit = 4294931387
In TS: 36408, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1119, Transit = 4294931247
In TS: 36568, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
+Stats: Jitter = 1058, Transit = 4294931108
In TS: 36728, dTS: 160, Seq: 24
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 1000, Transit = 4294930967
In TS: 36888, dTS: 160, Seq: 25
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 947, Transit = 4294930828
+Output SSRC changed to 50607080
+In TS: 160000, dTS: 0, Seq: 1000
+Out TS change: 123112, dTS: 160, Seq change: 975, TS Err change: in +0, out +0
+Stats: Jitter = 8488, Transit = 4294809216
+In TS: 160160, dTS: 160, Seq: 1001
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 7966, Transit = 4294809075
+In TS: 160320, dTS: 160, Seq: 1002
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 7477, Transit = 4294808935
Testing packet error detection, patch SSRC, patch timestamps.
Output SSRC changed to 11223344
In TS: 0, dTS: 0, Seq: 0
Out TS change: 0, dTS: 0, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 0, Transit = 0
In TS: 160, dTS: 160, Seq: 1
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 8, Transit = 4294967155
In TS: 320, dTS: 160, Seq: 2
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967015
In TS: 320, dTS: 160, Seq: 3
Out TS change: 0, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 17, Transit = 4294967035
In TS: 480, dTS: 160, Seq: 4
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 24, Transit = 4294966895
In TS: 640, dTS: 160, Seq: 5
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 32, Transit = 4294966756
In TS: 960, dTS: 320, Seq: 6
Out TS change: 320, dTS: 320, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 48, Transit = 4294966455
In TS: 1120, dTS: 160, Seq: 7
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 54, Transit = 4294966316
In TS: 1280, dTS: 160, Seq: 8
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 59, Transit = 4294966175
In TS: 1400, dTS: 120, Seq: 9
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
+Stats: Jitter = 64, Transit = 4294966036
In TS: 1560, dTS: 160, Seq: 10
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 69, Transit = 4294965896
In TS: 1720, dTS: 160, Seq: 11
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 73, Transit = 4294965755
In TS: 34688, dTS: 0, Seq: 12
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 78, Transit = 4294965615
In TS: 34848, dTS: 160, Seq: 13
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 81, Transit = 4294965475
In TS: 35008, dTS: 160, Seq: 14
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 85, Transit = 4294965336
In TS: 35128, dTS: 120, Seq: 15
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +1, out +0
+Stats: Jitter = 88, Transit = 4294965196
In TS: 35288, dTS: 160, Seq: 16
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 92, Transit = 4294965055
In TS: 35448, dTS: 160, Seq: 17
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 95, Transit = 4294964916
In TS: 35768, dTS: 160, Seq: 19
Out TS change: 320, dTS: 160, Seq change: 2, TS Err change: in +0, out +0
+Stats: Jitter = 107, Transit = 4294964616
In TS: 35928, dTS: 160, Seq: 20
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 109, Transit = 4294964475
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 113, Transit = 4294964315
In TS: 36088, dTS: 160, Seq: 21
Out TS change: 0, dTS: 160, Seq change: 0, TS Err change: in +0, out +0
+Stats: Jitter = 107, Transit = 4294964336
In TS: 36248, dTS: 160, Seq: 22
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 109, Transit = 4294964195
In TS: 36408, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 111, Transit = 4294964055
In TS: 36568, dTS: 160, Seq: 23
Out TS change: 160, dTS: 160, Seq change: 0, TS Err change: in +1, out +1
+Stats: Jitter = 113, Transit = 4294963916
In TS: 36728, dTS: 160, Seq: 24
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 114, Transit = 4294963775
In TS: 36888, dTS: 160, Seq: 25
Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 116, Transit = 4294963636
+In TS: 160000, dTS: 0, Seq: 1000
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 192, Transit = 4294964976
+In TS: 160160, dTS: 160, Seq: 1001
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 189, Transit = 4294964835
+In TS: 160320, dTS: 160, Seq: 1002
+Out TS change: 160, dTS: 160, Seq change: 1, TS Err change: in +0, out +0
+Stats: Jitter = 186, Transit = 4294964695
Done