Move from net, speak freely understands VAT/RTP well
This commit is contained in:
parent
c5b7b8c6aa
commit
8ac8c0f883
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=4405
50
audio/speak_freely/Makefile
Normal file
50
audio/speak_freely/Makefile
Normal file
@ -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 <bsd.port.mk>
|
1
audio/speak_freely/distinfo
Normal file
1
audio/speak_freely/distinfo
Normal file
@ -0,0 +1 @@
|
||||
MD5 (speak_freely-6.1b.tar.gz) = 366b66297186dc7e02afbb5227a33ec8
|
219
audio/speak_freely/files/patch-aa
Normal file
219
audio/speak_freely/files/patch-aa
Normal file
@ -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
|
14
audio/speak_freely/files/patch-ac
Normal file
14
audio/speak_freely/files/patch-ac
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
74
audio/speak_freely/files/patch-ad
Normal file
74
audio/speak_freely/files/patch-ad
Normal file
@ -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)
|
101
audio/speak_freely/files/patch-ae
Normal file
101
audio/speak_freely/files/patch-ae
Normal file
@ -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). */
|
||||
|
1
audio/speak_freely/pkg-comment
Normal file
1
audio/speak_freely/pkg-comment
Normal file
@ -0,0 +1 @@
|
||||
Voice Communication Over Data Networks.
|
8
audio/speak_freely/pkg-descr
Normal file
8
audio/speak_freely/pkg-descr
Normal file
@ -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.
|
13
audio/speak_freely/pkg-plist
Normal file
13
audio/speak_freely/pkg-plist
Normal file
@ -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
|
50
mbone/speak_freely/Makefile
Normal file
50
mbone/speak_freely/Makefile
Normal file
@ -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 <bsd.port.mk>
|
1
mbone/speak_freely/distinfo
Normal file
1
mbone/speak_freely/distinfo
Normal file
@ -0,0 +1 @@
|
||||
MD5 (speak_freely-6.1b.tar.gz) = 366b66297186dc7e02afbb5227a33ec8
|
219
mbone/speak_freely/files/patch-aa
Normal file
219
mbone/speak_freely/files/patch-aa
Normal file
@ -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
|
14
mbone/speak_freely/files/patch-ac
Normal file
14
mbone/speak_freely/files/patch-ac
Normal file
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
74
mbone/speak_freely/files/patch-ad
Normal file
74
mbone/speak_freely/files/patch-ad
Normal file
@ -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)
|
101
mbone/speak_freely/files/patch-ae
Normal file
101
mbone/speak_freely/files/patch-ae
Normal file
@ -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). */
|
||||
|
1
mbone/speak_freely/pkg-comment
Normal file
1
mbone/speak_freely/pkg-comment
Normal file
@ -0,0 +1 @@
|
||||
Voice Communication Over Data Networks.
|
8
mbone/speak_freely/pkg-descr
Normal file
8
mbone/speak_freely/pkg-descr
Normal file
@ -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.
|
13
mbone/speak_freely/pkg-plist
Normal file
13
mbone/speak_freely/pkg-plist
Normal file
@ -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
|
Loading…
Reference in New Issue
Block a user