clients/playrtp.c: Replace the hairy interface-scanning heuristics.
[disorder] / clients / playrtp-log
1 #! /usr/bin/perl -w
2 #
3 # This file is part of DisOrder.
4 # Copyright (C) 2007 Richard Kettlewell
5 #
6 # This program is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
10 #
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
15 #
16 # You should have received a copy of the GNU General Public License
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #
19 use strict;
20
21 our $last;
22 my %start = ();
23 my %end = ();
24 while(<>) {
25 if(/sequence (\d+) timestamp (\w+) length (\w+) end (\w+)/) {
26 my $seq = $1;
27 my $timestamp = hex($2);
28 my $length = hex($3);
29 my $end = hex($4);
30
31 if(defined $last) {
32 if($seq < $last) {
33 print "$seq < $last\n";
34 } elsif($seq != $last + 1) {
35 printf "%u when %u expected, missed %d\n",
36 $seq, $last + 1, $seq - $last;
37 }
38 }
39 if(exists $start{$seq}) {
40 print "$seq: duplicate";
41 }
42 $start{$seq} = $timestamp;
43 $end{$seq} = $end;
44 if(exists $start{$seq-1}) {
45 if($end{$seq-1} != $start{$seq}) {
46 printf "%u ends at %x but %u starts at %x (delta=%d)\n",
47 $seq-1, $end{$seq-1}, $seq, $start{$seq},
48 $start{$seq}-$end{$seq-1};
49 }
50 }
51
52
53 $last = $seq;
54 }
55 }