diff options
Diffstat (limited to 'net/rtptools')
-rw-r--r-- | net/rtptools/Makefile | 31 | ||||
-rw-r--r-- | net/rtptools/distinfo | 1 | ||||
-rw-r--r-- | net/rtptools/files/patch-ab | 69 | ||||
-rw-r--r-- | net/rtptools/pkg-comment | 1 | ||||
-rw-r--r-- | net/rtptools/pkg-descr | 13 | ||||
-rw-r--r-- | net/rtptools/pkg-plist | 8 |
6 files changed, 123 insertions, 0 deletions
diff --git a/net/rtptools/Makefile b/net/rtptools/Makefile new file mode 100644 index 000000000000..55ea6f785211 --- /dev/null +++ b/net/rtptools/Makefile @@ -0,0 +1,31 @@ +# New ports collection makefile for: rtptools +# Version required: 1.9 +# Date created: 5 January 1998 +# Whom: fenner +# +# $Id:$ +# + +DISTNAME= rtptools-1.9 +CATEGORIES= mbone +MASTER_SITES= ftp://ftp.cs.columbia.edu/pub/schulzrinne/rtptools/ + +MAINTAINER= fenner@FreeBSD.ORG + +MAKE_ENV= ARCH=freebsd CC=cc + +BINFILES= rtpdump rtpplay rtpsend rtptrans +DOCFILES= README CHANGES.html rtptools.html + +do-install: +.for i in ${BINFILES} + ${INSTALL_PROGRAM} ${WRKSRC}/freebsd/${i} ${PREFIX}/bin +.endfor +.if !defined(NOPORTDOCS) + ${MKDIR} ${PREFIX}/share/doc/rtptools +.for i in ${DOCFILES} + ${INSTALL_DATA} ${WRKSRC}/${i} ${PREFIX}/share/doc/rtptools +.endfor +.endif + +.include <bsd.port.mk> diff --git a/net/rtptools/distinfo b/net/rtptools/distinfo new file mode 100644 index 000000000000..ee742b63edb4 --- /dev/null +++ b/net/rtptools/distinfo @@ -0,0 +1 @@ +MD5 (rtptools-1.9.tar.gz) = c459423c37451ffe1e52423b3eebcb09 diff --git a/net/rtptools/files/patch-ab b/net/rtptools/files/patch-ab new file mode 100644 index 000000000000..2e991789f5b9 --- /dev/null +++ b/net/rtptools/files/patch-ab @@ -0,0 +1,69 @@ +Index: rtp.h +--- 1.1.1.2 1997/12/17 03:37:05 ++++ rtp.h 1997/12/17 04:26:01 +@@ -93,13 +93,18 @@ + #define RTCP_VALID_MASK (0xc000 | 0x2000 | 0xfe) + #define RTCP_VALID_VALUE ((RTP_VERSION << 14) | RTCP_SR) + ++#define RTCP_FRACTION(x) (((x) >> 24) & 0xFF) ++#define RTCP_LOST(x) ((((x) & 0xFFFFFF) < 0x800000) ? \ ++ ((x) & 0xFFFFFF) \ ++ : (((x) & 0xFFFFFF) - 0x1000000)) ++ + /* + * Reception report block + */ + typedef struct { + u_int32 ssrc; /* data source being reported */ +- unsigned int fraction:8; /* fraction lost since last SR/RR */ +- int lost:24; /* cumul. no. pkts lost (signed!) */ ++ u_int32 fraclost; /* fraction lost since last SR/RR and */ ++ /* cumul. no. pkts lost (signed!) */ + u_int32 last_seq; /* extended last seq. no. received */ + u_int32 jitter; /* interarrival jitter */ + u_int32 lsr; /* last SR packet from this source */ +=================================================================== +Index: rtpdump.c +--- 1.1.1.2 1997/12/17 03:37:07 ++++ rtpdump.c 1997/12/17 04:26:00 +@@ -395,10 +395,10 @@ + ntohl(r->r.sr.psent), + ntohl(r->r.sr.osent)); + for (i = 0; i < r->common.count; i++) { +- printf(" (ssrc=%0lx fraction=%g lost=%lu last_seq=%lu jit=%lu lsr=%lu dlsr=%lu)\n", ++ printf(" (ssrc=0x%lx fraction=%g lost=%ld last_seq=%lu jit=%lu lsr=%lu dlsr=%lu)\n", + ntohl(r->r.sr.rr[i].ssrc), +- r->r.sr.rr[i].fraction / 256., +- ntohl(r->r.sr.rr[i].lost), /* XXX I'm pretty sure this is wrong */ ++ RTCP_FRACTION(ntohl(r->r.sr.rr[i].fraclost)) / 256., ++ RTCP_LOST(ntohl(r->r.sr.rr[i].fraclost)), + ntohl(r->r.sr.rr[i].last_seq), + ntohl(r->r.sr.rr[i].jitter), + ntohl(r->r.sr.rr[i].lsr), +@@ -412,10 +412,10 @@ + ntohl(r->r.rr.ssrc), r->common.p, r->common.count, + ntohs(r->common.length)); + for (i = 0; i < r->common.count; i++) { +- printf("(ssrc=%0lx fraction=%g lost=%lu last_seq=%lu jit=%lu lsr=%lu dlsr=%lu)\n", ++ printf(" (ssrc=0x%lx fraction=%g lost=%ld last_seq=%lu jit=%lu lsr=%lu dlsr=%lu)\n", + ntohl(r->r.rr.rr[i].ssrc), +- r->r.rr.rr[i].fraction / 256., +- ntohl(r->r.rr.rr[i].lost), ++ RTCP_FRACTION(ntohl(r->r.rr.rr[i].fraclost)) / 256., ++ RTCP_LOST(ntohl(r->r.rr.rr[i].fraclost)), + ntohl(r->r.rr.rr[i].last_seq), + ntohl(r->r.rr.rr[i].jitter), + ntohl(r->r.rr.rr[i].lsr), +=================================================================== +Index: rtpsend.c +--- 1.1.1.2 1997/12/17 03:37:11 ++++ rtpsend.c 1997/12/17 04:25:11 +@@ -599,6 +599,8 @@ + + if (optind < argc) { + if (hpt(argv[optind], (struct sockaddr *)&sin, &ttl) < 0) usage(argv[0]); ++ } else { ++ usage(argv[0]); + } + + /* create/connect sockets */ diff --git a/net/rtptools/pkg-comment b/net/rtptools/pkg-comment new file mode 100644 index 000000000000..628277ba0266 --- /dev/null +++ b/net/rtptools/pkg-comment @@ -0,0 +1 @@ +a set of tools to record, playback and monitor RTPv2 data streams. diff --git a/net/rtptools/pkg-descr b/net/rtptools/pkg-descr new file mode 100644 index 000000000000..4dc99ec5b4af --- /dev/null +++ b/net/rtptools/pkg-descr @@ -0,0 +1,13 @@ +The rtptools distribution consists of a number of small applications that +can be used for processing RTP data. + +rtpplay + play back RTP sessions recorded by rtpdump +rtpsend + generate RTP packets from textual description, generated by hand or + rtpdump +rtpdump + parse and print RTP packets, generating output files suitable for + rtpplay and rtpsend +rtptrans + RTP translator between unicast and multicast networks diff --git a/net/rtptools/pkg-plist b/net/rtptools/pkg-plist new file mode 100644 index 000000000000..acb3252439be --- /dev/null +++ b/net/rtptools/pkg-plist @@ -0,0 +1,8 @@ +bin/rtpdump +bin/rtpplay +bin/rtpsend +bin/rtptrans +share/doc/rtptools/README +share/doc/rtptools/CHANGES.html +share/doc/rtptools/rtptools.html +@dirrm share/doc/rtptools |