From 8ac8c0f883e17ad3209823c2de3a6a1466eef5cc Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Mon, 11 Nov 1996 23:17:44 +0000 Subject: Move from net, speak freely understands VAT/RTP well --- mbone/speak_freely/Makefile | 50 +++++++++ mbone/speak_freely/distinfo | 1 + mbone/speak_freely/files/patch-aa | 219 ++++++++++++++++++++++++++++++++++++++ mbone/speak_freely/files/patch-ac | 14 +++ mbone/speak_freely/files/patch-ad | 74 +++++++++++++ mbone/speak_freely/files/patch-ae | 101 ++++++++++++++++++ mbone/speak_freely/pkg-comment | 1 + mbone/speak_freely/pkg-descr | 8 ++ mbone/speak_freely/pkg-plist | 13 +++ 9 files changed, 481 insertions(+) create mode 100644 mbone/speak_freely/Makefile create mode 100644 mbone/speak_freely/distinfo create mode 100644 mbone/speak_freely/files/patch-aa create mode 100644 mbone/speak_freely/files/patch-ac create mode 100644 mbone/speak_freely/files/patch-ad create mode 100644 mbone/speak_freely/files/patch-ae create mode 100644 mbone/speak_freely/pkg-comment create mode 100644 mbone/speak_freely/pkg-descr create mode 100644 mbone/speak_freely/pkg-plist (limited to 'mbone') diff --git a/mbone/speak_freely/Makefile b/mbone/speak_freely/Makefile new file mode 100644 index 000000000000..7114618568d0 --- /dev/null +++ b/mbone/speak_freely/Makefile @@ -0,0 +1,50 @@ +# New ports collection makefile for: speak_freely +# Original WWW site: http://www.fourmilab.ch/speakfree/unix/index.html +# Version required: 6.1b +# Date created: 18 Apr 1996 +# Whom: ache +# +# $Id: Makefile,v 1.5 1996/10/25 16:49:22 ache Exp $ +# + +DISTNAME= speak_freely-6.1b +CATEGORIES+= net audio security +MASTER_SITES= http://www.fourmilab.ch/speakfree/unix/ + +MAINTAINER= ache@FreeBSD.ORG + +LIB_DEPENDS= gsm\\.1\\.0:${PORTSDIR}/audio/gsm + +UTILS= sfspeaker sfmike sflwl +DEMNS= sfecho sflwld +DDEMNS= sfvod +SFLIB= ${PREFIX}/lib/speak_freely + +do-install: + if [ ! -d ${SFLIB} ]; then \ + install -d -o ${BINOWN} -g ${BINGRP} -m 755 ${SFLIB}; \ + fi + cd ${WRKSRC}; \ + $(INSTALL_DATA) ring.au ${SFLIB} + cd ${WRKSRC}; \ + for p in ${UTILS}; do \ + $(INSTALL_PROGRAM) $$p ${PREFIX}/bin; \ + $(INSTALL_MAN) $$p.1 ${PREFIX}/man/man1; \ + done; + cd ${WRKSRC}; \ + for p in ${DEMNS}; do \ + $(INSTALL_PROGRAM) $$p ${PREFIX}/sbin; \ + $(INSTALL_MAN) $$p.1 ${PREFIX}/man/man1; \ + done; + cd ${WRKSRC}; \ + for p in ${DDEMNS}; do \ + $(INSTALL_SCRIPT) $$p ${PREFIX}/sbin; \ + $(INSTALL_MAN) $$p.1 ${PREFIX}/man/man1; \ + done; +.if !defined(NOMANCOMPRESS) + for p in ${UTILS} ${DEMNS} ${DDEMNS}; do \ + gzip -9nf ${PREFIX}/man/man1/$$p.1; \ + done +.endif + +.include diff --git a/mbone/speak_freely/distinfo b/mbone/speak_freely/distinfo new file mode 100644 index 000000000000..32484b10de6a --- /dev/null +++ b/mbone/speak_freely/distinfo @@ -0,0 +1 @@ +MD5 (speak_freely-6.1b.tar.gz) = 366b66297186dc7e02afbb5227a33ec8 diff --git a/mbone/speak_freely/files/patch-aa b/mbone/speak_freely/files/patch-aa new file mode 100644 index 000000000000..40369b1b9895 --- /dev/null +++ b/mbone/speak_freely/files/patch-aa @@ -0,0 +1,219 @@ +*** Makefile.orig Mon Aug 12 15:52:16 1996 +--- Makefile Fri Oct 25 17:50:11 1996 +*************** +*** 11,18 **** + #LFLAGS = -laudio -lcurses -lm + + # SunOS 4.1.x +! CC = cc -fsingle -DOLDCC +! LFLAGS = -lcurses -ltermcap -lm + + # Solaris 2.x courtesy of Hans Werner Strube (strube@physik3.gwdg.de) + # (-fsingle is needed for pre-4.0 compilers and is ignored by 4.0 in +--- 11,18 ---- + #LFLAGS = -laudio -lcurses -lm + + # SunOS 4.1.x +! #CC = cc -fsingle -DOLDCC +! #LFLAGS = -lcurses -ltermcap -lm + + # Solaris 2.x courtesy of Hans Werner Strube (strube@physik3.gwdg.de) + # (-fsingle is needed for pre-4.0 compilers and is ignored by 4.0 in +*************** +*** 35,42 **** + # Depending on how your driver handles non-blocking I/O, + # you may also have to add -DAUDIO_BLOCKING to the + # CCFLAGS line. +! #CCFLAGS = -DM_LITTLE_ENDIAN +! #LFLAGS = -lcurses -ltermcap -lcompat -lm + + # Linux 1.x, courtesy of KeyJ Phade (phade@powerweb.de) + # +--- 35,42 ---- + # Depending on how your driver handles non-blocking I/O, + # you may also have to add -DAUDIO_BLOCKING to the + # CCFLAGS line. +! CCFLAGS = -DM_LITTLE_ENDIAN +! LFLAGS = -lcurses -ltermcap -lcompat -lm + + # Linux 1.x, courtesy of KeyJ Phade (phade@powerweb.de) + # +*************** +*** 62,73 **** + #CCFLAGS = -DHEWLETT_PACKARD -DOLDCC + #LFLAGS = -lAlib -lcurses -ltermcap -lm + + # Where Perl is located on your system. This is used to make + # a directly-executable version of sfvod. +! PERL = /usr/local/bin/perl + + # If your audio hardware is half duplex, uncomment the next line +! #DUPLEX = -DHALF_DUPLEX + + # If your getdomainname() does not return the DNS domainname, define: + #DOMAIN=-DMYDOMAIN=\"somedomain.net\" +--- 62,75 ---- + #CCFLAGS = -DHEWLETT_PACKARD -DOLDCC + #LFLAGS = -lAlib -lcurses -ltermcap -lm + ++ PREFIX=/usr/local ++ + # Where Perl is located on your system. This is used to make + # a directly-executable version of sfvod. +! PERL = /usr/bin/perl + + # If your audio hardware is half duplex, uncomment the next line +! DUPLEX = -DHALF_DUPLEX + + # If your getdomainname() does not return the DNS domainname, define: + #DOMAIN=-DMYDOMAIN=\"somedomain.net\" +*************** +*** 96,106 **** + CARGS = -DInternet_Port=$(INTERNET_PORT) + + #DEBUG = -g -DHEXDUMP +! DEBUG = -O + + # Compiler flags + +! CFLAGS = $(DEBUG) -Iadpcm -Ilpc -Igsm/inc -Imd5 -Iidea -Ilibdes $(CARGS) -DRelno=$(REL) $(DUPLEX) $(CCFLAGS) $(DOMAIN) + + PROGRAMS = sfspeaker sfmike sflwld sflwl sfecho sfvod + +--- 98,116 ---- + CARGS = -DInternet_Port=$(INTERNET_PORT) + + #DEBUG = -g -DHEXDUMP +! DEBUG = +! +! .if exists(/usr/lib/libdes.a) +! LDES=-ldes +! IDES= +! .else +! LDES=libdes/libdes.a +! IDES=-Ilibdes +! .endif + + # Compiler flags + +! CFLAGS += $(DEBUG) -Iadpcm -Ilpc -Iidea $(IDES) -I/usr/include -I${PREFIX}/include $(CARGS) -DRelno=$(REL) $(DUPLEX) $(CCFLAGS) $(DOMAIN) + + PROGRAMS = sfspeaker sfmike sflwld sflwl sfecho sfvod + +*************** +*** 108,120 **** + + SPKROBJS = speaker.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o vox.o hp_audio.o + +! sfspeaker: $(SPKROBJS) adpcmlib.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o xdsub.o +! $(CC) $(SPKROBJS) adpcm/adpcm-u.o des/des.o md5/md5.o idea/idea.o lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o xdsub.o libdes/libdes.a $(LFLAGS) -o sfspeaker + + MIKEOBJS = mike.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o xdsub.o hp_audio.o + +! sfmike: $(MIKEOBJS) adpcmlib.o lpclib.o lpc10lib.o gsmlib.o deslib.o md5lib.o idealib.o libdes.o +! $(CC) $(MIKEOBJS) adpcm/adpcm-u.o des/des.o md5/md5.o idea/idea.o -lm lpc10/liblpc10.a gsm/lib/libgsm.a lpc/lpc.o libdes/libdes.a $(LFLAGS) -o sfmike + + LWLDOBJS = lwld.o xdsub.o + +--- 118,130 ---- + + SPKROBJS = speaker.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o vox.o hp_audio.o + +! sfspeaker: $(SPKROBJS) adpcmlib.o lpclib.o lpc10lib.o deslib.o idealib.o libdes.o xdsub.o +! $(CC) $(SPKROBJS) adpcm/adpcm-u.o des/des.o idea/idea.o lpc10/liblpc10.a -L${PREFIX}/lib -lgsm lpc/lpc.o xdsub.o -lmd $(LDES) $(LFLAGS) -o sfspeaker + + MIKEOBJS = mike.o codecs.o deskey.o g711.o rate.o rtpacket.o soundbyte.o ulaw.o usleep.o vatpkt.o xdsub.o hp_audio.o + +! sfmike: $(MIKEOBJS) adpcmlib.o lpclib.o lpc10lib.o deslib.o idealib.o libdes.o +! $(CC) $(MIKEOBJS) adpcm/adpcm-u.o des/des.o idea/idea.o lpc10/liblpc10.a -lm -L${PREFIX}/lib -lgsm lpc/lpc.o -lmd $(LDES) $(LFLAGS) -o sfmike + + LWLDOBJS = lwld.o xdsub.o + +*************** +*** 128,135 **** + + ECHOOBJS = echo.o codecs.o g711.o rtpacket.o ulaw.o xdsub.o + +! sfecho: $(ECHOOBJS) md5lib.o +! $(CC) $(ECHOOBJS) md5/md5.o adpcm/adpcm-u.o lpc/lpc.o $(LFLAGS) -o sfecho + + sfvod: sfvod.pl + echo \#\! $(PERL) >sfvod +--- 138,145 ---- + + ECHOOBJS = echo.o codecs.o g711.o rtpacket.o ulaw.o xdsub.o + +! sfecho: $(ECHOOBJS) +! $(CC) $(ECHOOBJS) adpcm/adpcm-u.o lpc/lpc.o -lmd $(LFLAGS) -o sfecho + + sfvod: sfvod.pl + echo \#\! $(PERL) >sfvod +*************** +*** 145,155 **** + chmod 755 sfvod + + adpcmlib.o: +! ( echo "Building ADPCM library."; cd adpcm ; make CC="$(CC)" ) + echo "ADPCM" >adpcmlib.o + + libdes.o: + ( echo "Building LIBDES library."; cd libdes ; make -f Makefile.sf CC="$(CC) $(CCFLAGS) $(DEBUG)" ) + echo "LIBDES" >libdes.o + + lpclib.o: +--- 155,167 ---- + chmod 755 sfvod + + adpcmlib.o: +! ( echo "Building ADPCM library."; cd adpcm ; make CC="$(CC) $(CCFLAGS)" ) + echo "ADPCM" >adpcmlib.o + + libdes.o: ++ .if !exists(/usr/lib/libdes.a) + ( echo "Building LIBDES library."; cd libdes ; make -f Makefile.sf CC="$(CC) $(CCFLAGS) $(DEBUG)" ) ++ .endif + echo "LIBDES" >libdes.o + + lpclib.o: +*************** +*** 161,167 **** + echo "LPC" >lpc10lib.o + + gsmlib.o: +! ( echo "Building GSM library."; cd gsm ; make CC="$(CC)" ) + echo "GSM" >gsmlib.o + + deslib.o: +--- 173,179 ---- + echo "LPC" >lpc10lib.o + + gsmlib.o: +! ( echo "Building GSM library."; cd gsm ; make CC="$(CC) $(CCFLAGS)" ) + echo "GSM" >gsmlib.o + + deslib.o: +*************** +*** 169,179 **** + echo "DES" >deslib.o + + md5lib.o: +! ( echo "Building MD5 library."; cd md5 ; make CC="$(CC)" ) + echo "MD5" >md5lib.o + + idealib.o: +! ( echo "Building IDEA library."; cd idea ; make CC="$(CC)" ) + echo "IDEA" >idealib.o + + codecs.o: codecs.c speakfree.h +--- 181,191 ---- + echo "DES" >deslib.o + + md5lib.o: +! ( echo "Building MD5 library."; cd md5 ; make CC="$(CC) $(CCFLAGS)" ) + echo "MD5" >md5lib.o + + idealib.o: +! ( echo "Building IDEA library."; cd idea ; make CC="$(CC) $(CCFLAGS)" ) + echo "IDEA" >idealib.o + + codecs.o: codecs.c speakfree.h diff --git a/mbone/speak_freely/files/patch-ac b/mbone/speak_freely/files/patch-ac new file mode 100644 index 000000000000..e4c8ee876155 --- /dev/null +++ b/mbone/speak_freely/files/patch-ac @@ -0,0 +1,14 @@ +*** mike.c.orig Tue Apr 23 14:45:52 1996 +--- mike.c Fri Oct 25 19:11:15 1996 +*************** +*** 687,692 **** +--- 687,695 ---- + (sb->buffer.buffer_len > 16)) { + pktlen += sizeof(sb->sendinghost); + } ++ /* must stay in network order for debugging output */ ++ sb->compression = htonl(sb->compression); ++ sb->buffer.buffer_len = htonl(sb->buffer.buffer_len); + } + } + } diff --git a/mbone/speak_freely/files/patch-ad b/mbone/speak_freely/files/patch-ad new file mode 100644 index 000000000000..4abcc937427b --- /dev/null +++ b/mbone/speak_freely/files/patch-ad @@ -0,0 +1,74 @@ +*** adpcm/Makefile.bak Fri Sep 1 14:58:19 1995 +--- adpcm/Makefile Fri Oct 25 18:55:46 1996 +*************** +*** 1,7 **** + # + # Makefile for adpcm and test programs + # ------------------- +! CFLAGS=-O -I.. + # May need this on a sun: + #CFLAGS=-O -I/usr/demo/SOUND + +--- 1,7 ---- + # + # Makefile for adpcm and test programs + # ------------------- +! CFLAGS+=-I.. + # May need this on a sun: + #CFLAGS=-O -I/usr/demo/SOUND + +*** des/Makefile.bak Thu Nov 2 22:38:58 1995 +--- des/Makefile Fri Oct 25 18:55:46 1996 +*************** +*** 1,4 **** +! CFLAGS=-O + + all: des.o + +--- 1,4 ---- +! #CFLAGS=-O + + all: des.o + +*** idea/Makefile.bak Wed Aug 2 22:39:19 1995 +--- idea/Makefile Fri Oct 25 18:55:46 1996 +*************** +*** 6,13 **** + + # Compiler flags + +! CC = cc +! CFLAGS = -O + + all: idea.o + +--- 6,13 ---- + + # Compiler flags + +! #CC = cc +! #CFLAGS = -O + + all: idea.o + +*** libdes/Makefile.bak Wed Apr 17 23:49:33 1996 +--- libdes/Makefile Fri Oct 25 18:55:46 1996 +*************** +*** 30,37 **** + + OPTS= $(OPTS0) $(OPTS1) $(OPTS2) + +! CC=cc +! CFLAGS= -O $(OPTS) $(CFLAG) + + #CC=gcc + #CFLAGS= -O3 -fomit-frame-pointer $(OPTS) $(CFLAG) +--- 30,37 ---- + + OPTS= $(OPTS0) $(OPTS1) $(OPTS2) + +! #CC=cc +! CFLAGS+= $(OPTS) $(CFLAG) + + #CC=gcc + #CFLAGS= -O3 -fomit-frame-pointer $(OPTS) $(CFLAG) diff --git a/mbone/speak_freely/files/patch-ae b/mbone/speak_freely/files/patch-ae new file mode 100644 index 000000000000..63da3ff0d3cb --- /dev/null +++ b/mbone/speak_freely/files/patch-ae @@ -0,0 +1,101 @@ +*** soundbyte.c.orig Mon Apr 8 17:39:41 1996 +--- soundbyte.c Fri Oct 25 20:36:06 1996 +*************** +*** 96,101 **** +--- 96,106 ---- + } + #endif + ++ #ifndef sun ++ #ifdef HALF_DUPLEX ++ static int oldvol = -1; ++ #endif ++ #endif + + /* SOUNDINIT -- Open the sound peripheral and initialise for + access. Return TRUE if successful, FALSE +*************** +*** 145,150 **** +--- 150,170 ---- + } + ioctl(Audio_fd, AUDIO_SETINFO, &Audio_info); + #endif ++ #ifndef sun ++ #ifdef HALF_DUPLEX ++ if (iomode == O_RDONLY) { ++ if (oldvol == -1) ++ oldvol = soundgetvol(); ++ soundplayvol(0); ++ } else if ( iomode == O_WRONLY ++ && oldvol != -1 ++ ) { ++ if (soundgetvol() == 0) ++ soundplayvol(oldvol); ++ oldvol = -1; ++ } ++ #endif ++ #endif + return TRUE; + } + if (errno != EINTR) { +*************** +*** 160,165 **** +--- 180,194 ---- + void soundterm() + { + if (audiof >= 0) { ++ #ifndef sun ++ #ifdef HALF_DUPLEX ++ if (oldvol != -1) { ++ if (soundgetvol() == 0) ++ soundplayvol(oldvol); ++ oldvol = -1; ++ } ++ #endif ++ #endif + if (close(audiof) < 0) { + perror("closing audio device"); + } +*************** +*** 210,219 **** + + arg = (value << 8) | value; + +! if (ioctl(Audio_fd, MIXER_WRITE(SOUND_MIXER_PCM), &arg) < 0) +! perror("SOUND_MIXER_PCM"); + #endif + } + + /* SOUNDRECGAIN -- Set recording gain from 0 (minimum) to 100 (maximum). */ + +--- 239,268 ---- + + arg = (value << 8) | value; + +! if (ioctl(Audio_fd, SOUND_MIXER_WRITE_PCM, &arg) < 0) +! perror("SOUND_MIXER_WRITE_PCM"); + #endif + } ++ ++ #ifndef sun ++ #ifdef HALF_DUPLEX ++ ++ /* SOUNDGETVOL -- Get current playback volume. */ ++ ++ int soundgetvol() ++ { ++ int arg, v1, v2; ++ ++ if (ioctl(Audio_fd, SOUND_MIXER_READ_PCM, &arg) < 0) { ++ perror("SOUND_MIXER_READ_PCM"); ++ return -1; ++ } ++ v1 = arg & 0xFF; ++ v2 = (arg >> 8) & 0xFF; ++ return (v1 > v2) ? v1 : v2; ++ } ++ #endif ++ #endif + + /* SOUNDRECGAIN -- Set recording gain from 0 (minimum) to 100 (maximum). */ + diff --git a/mbone/speak_freely/pkg-comment b/mbone/speak_freely/pkg-comment new file mode 100644 index 000000000000..c9c3ae747508 --- /dev/null +++ b/mbone/speak_freely/pkg-comment @@ -0,0 +1 @@ +Voice Communication Over Data Networks. diff --git a/mbone/speak_freely/pkg-descr b/mbone/speak_freely/pkg-descr new file mode 100644 index 000000000000..f66a6d8b6f1f --- /dev/null +++ b/mbone/speak_freely/pkg-descr @@ -0,0 +1,8 @@ + Speak Freely allows users of a variety of Unix and Unix- + like workstations equipped with audio hardware connected + by a network to converse, using the audio input and output + facilities of the workstation to digitise and later recon- + struct the sound and the network to relay sound packets. + Optional compression is provided, allowing conversations + over relatively low-bandwidth Internet links as well as + local area networks. diff --git a/mbone/speak_freely/pkg-plist b/mbone/speak_freely/pkg-plist new file mode 100644 index 000000000000..9c9d9ad7fafc --- /dev/null +++ b/mbone/speak_freely/pkg-plist @@ -0,0 +1,13 @@ +bin/sfspeaker +bin/sfmike +bin/sflwl +sbin/sfecho +sbin/sflwld +sbin/sfvod +lib/speak_freely/ring.au +man/man1/sfspeaker.1.gz +man/man1/sfmike.1.gz +man/man1/sflwl.1.gz +man/man1/sfecho.1.gz +man/man1/sflwld.1.gz +man/man1/sfvod.1.gz -- cgit v1.2.3