chiark / gitweb /
README, debian/control: Deprecate `sox' support.
[disorder] / clients / playrtp-log
CommitLineData
345ebe66 1#! /usr/bin/perl -w
8a886602
RK
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#
345ebe66
RK
19use strict;
20
21our $last;
22my %start = ();
23my %end = ();
24while(<>) {
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}