aboutsummaryrefslogtreecommitdiffstats
path: root/net/rtptools
diff options
context:
space:
mode:
Diffstat (limited to 'net/rtptools')
-rw-r--r--net/rtptools/Makefile31
-rw-r--r--net/rtptools/distinfo1
-rw-r--r--net/rtptools/files/patch-ab69
-rw-r--r--net/rtptools/pkg-comment1
-rw-r--r--net/rtptools/pkg-descr13
-rw-r--r--net/rtptools/pkg-plist8
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