Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 18 Sep 2000 21:39:24 +0600 (ESS)
From:      anton@urc.ac.ru
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/21356: New port: mbone/rat30 (rat-3.0.35), the stable branch. Replaces PR ports/21343.
Message-ID:  <200009181539.e8IFdO251537@rnocserv.urc.ac.ru>

next in thread | raw e-mail | index | archive | help

>Number:         21356
>Category:       ports
>Synopsis:       New port: mbone/rat30 (rat-3.0.35), the stable branch. Replaces PR ports/21343.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Sep 18 08:40:02 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Anton Voronin
>Release:        FreeBSD 4.1-STABLE i386
>Organization:
Southern Ural State University, Chelyabinsk, Russia
>Environment:

>Description:

This submittion contains fix for PR ports/21343 (where Makefile didn't
satisfy to portlint) and an additional patch for mixer operations
(by Orion Hodson, O.Hodson@cs.ucl.ac.uk).

RAT is a network audio tool that allows users to particpate in
audio conferences over the internet. These can be between two
participants directly, or between a group of participants on a
common multicast group.  RAT features sender based loss mitigation
mechanisms and receiver based audio repair techniques to compensate
for packet loss, and load adaption in response to host performance.

This is a stable branch version. Works with half-duplex casrd as well.

WWW: http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/

>How-To-Repeat:

>Fix:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	rat30
#	rat30/Makefile
#	rat30/pkg
#	rat30/pkg/COMMENT
#	rat30/pkg/DESCR
#	rat30/pkg/PLIST
#	rat30/patches
#	rat30/patches/patch-aa
#	rat30/patches/patch-ab
#	rat30/patches/patch-ac
#	rat30/files
#	rat30/files/md5
#
echo c - rat30
mkdir -p rat30 > /dev/null 2>&1
echo x - rat30/Makefile
sed 's/^X//' >rat30/Makefile << 'END-of-rat30/Makefile'
X# New ports collection makefile for:   rat
X# Date created:        18 September 2000
X# Whom:                anton
X#
X# $FreeBSD$
X#
X
XPORTNAME=	rat
XPORTVERSION=	3.0.35
XCATEGORIES=	mbone audio
X
XMAINTAINER=	anton@urc.ac.ru
X
XMASTER_SITES =	http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/3.0.35/
XWRKSRC =	${WRKDIR}/rat-3.0
X
XTCL_VER=8.3
XTCL_SHORTVER=83
XTK_VER=8.3
XTK_SHORTVER=83
X
XLIB_DEPENDS =	tk${TK_SHORTVER}.1:${PORTSDIR}/x11-toolkits/tk${TK_SHORTVER} \
X		tcl${TK_SHORTVER}.1:${PORTSDIR}/lang/tcl${TCL_SHORTVER}
XUSE_XLIB =	yes
X
XDEPENDS =	${PORTSDIR}/x11-toolkits/tk${TK_SHORTVER} \
X		${PORTSDIR}/lang/tcl${TCL_SHORTVER}
X
XMAN1 =		rat.1
XMANCOMPRESSED =	no
XUSE_GMAKE =	yes
XMAKE_ARGS =	TCL_VER=${TCL_VER} TCL_SHORTVER=${TCL_SHORTVER} TK_VER=${TK_VER} TK_SHORTVER=${TK_SHORTVER} X11BASE=${X11BASE} OSTYPE=FreeBSD
X
XALL_TARGET =	bin/rat
X
Xdo-install:
X	${INSTALL_PROGRAM} ${WRKSRC}/bin/rat ${PREFIX}/bin/rat
X	${INSTALL_MAN}  ${WRKSRC}/man/man1/rat.1 ${PREFIX}/man/man1
X
X.include <bsd.port.mk>
END-of-rat30/Makefile
echo c - rat30/pkg
mkdir -p rat30/pkg > /dev/null 2>&1
echo x - rat30/pkg/COMMENT
sed 's/^X//' >rat30/pkg/COMMENT << 'END-of-rat30/pkg/COMMENT'
XMulticast and unicast robust audio conferencing tool (stable branch)
END-of-rat30/pkg/COMMENT
echo x - rat30/pkg/DESCR
sed 's/^X//' >rat30/pkg/DESCR << 'END-of-rat30/pkg/DESCR'
XRAT is a network audio tool that allows users to particpate in
Xaudio conferences over the internet. These can be between two
Xparticipants directly, or between a group of participants on a
Xcommon multicast group.  RAT features sender based loss mitigation
Xmechanisms and receiver based audio repair techniques to compensate
Xfor packet loss, and load adaption in response to host performance.
X
XThis is a stable branch version. Works with half-duplex casrd as well.
X
XWWW: http://www-mice.cs.ucl.ac.uk/multimedia/software/rat/
END-of-rat30/pkg/DESCR
echo x - rat30/pkg/PLIST
sed 's/^X//' >rat30/pkg/PLIST << 'END-of-rat30/pkg/PLIST'
Xbin/rat
END-of-rat30/pkg/PLIST
echo c - rat30/patches
mkdir -p rat30/patches > /dev/null 2>&1
echo x - rat30/patches/patch-aa
sed 's/^X//' >rat30/patches/patch-aa << 'END-of-rat30/patches/patch-aa'
X*** src/auddev_freebsd.c.orig	Wed Mar 24 16:22:19 1999
X--- src/auddev_freebsd.c	Sat Sep 16 00:03:22 2000
X***************
X*** 89,102 ****
X      }
X      if ((ioctl(audio_fd, SNDCTL_DSP_SETFMT, &mode) == -1) || (mode != AFMT_S16_LE)) { 
X        printf("Device doesn't support 16bit linear format!\n");
X        return -1;
X      }
X      if ((ioctl(audio_fd, SNDCTL_DSP_STEREO, &stereo) == -1) || (stereo != 0)) {
X        printf("Device doesn't support mono!\n");
X        return -1;
X      }
X!     if ((ioctl(audio_fd, SNDCTL_DSP_SPEED, &speed) == -1) || (speed != 8000)) {
X        printf("Device doesn't support 8kHz sampling!\n");
X        return -1;
X      }
X  
X--- 89,106 ----
X      }
X      if ((ioctl(audio_fd, SNDCTL_DSP_SETFMT, &mode) == -1) || (mode != AFMT_S16_LE)) { 
X        printf("Device doesn't support 16bit linear format!\n");
X+       close(audio_fd);
X        return -1;
X      }
X      if ((ioctl(audio_fd, SNDCTL_DSP_STEREO, &stereo) == -1) || (stereo != 0)) {
X        printf("Device doesn't support mono!\n");
X+       close(audio_fd);
X        return -1;
X      }
X! //    if ((ioctl(audio_fd, SNDCTL_DSP_SPEED, &speed) == -1) || (speed != 8000)) {
X!     if (ioctl(audio_fd, SNDCTL_DSP_SPEED, &speed) == -1){
X        printf("Device doesn't support 8kHz sampling!\n");
X+       close(audio_fd);
X        return -1;
X      }
X  
X***************
X*** 158,163 ****
X--- 162,168 ----
X     * be open to do this, so if we're passed -1 as a file-descriptor we open
X     * the device, do the ioctl, and then close it again...
X     */
X+ /*
X          snd_chan_param scp;
X          if (audio_fd == -1) {
X                  audio_fd = audio_open_rw(O_RDONLY);
X***************
X*** 174,179 ****
X--- 179,197 ----
X          if (ioctl(audio_fd, AIOSFMT, 0) == -1) {
X                  return FALSE;
X          }
X+ */
X+ 	int caps;
X+ 	int was_defined = 1;
X+         if (audio_fd == -1) {
X+                 audio_fd = audio_open_rw(O_RDWR);
X+ 		was_defined = 0;
X+ 	}
X+         ioctl(audio_fd, SNDCTL_DSP_GETCAPS, &caps);
X+         if ((caps & DSP_CAP_DUPLEX) == 0) {
X+ 		if( was_defined == 0 ) audio_close(audio_fd);
X+                 return FALSE;
X+         }
X+ 	if( was_defined == 0 ) audio_close(audio_fd);
X          return TRUE;
X  }
X  
END-of-rat30/patches/patch-aa
echo x - rat30/patches/patch-ab
sed 's/^X//' >rat30/patches/patch-ab << 'END-of-rat30/patches/patch-ab'
X*** Makefile.orig	Tue Sep 14 16:39:00 1999
X--- Makefile	Mon Sep 18 13:30:23 2000
X***************
X*** 9,29 ****
X  # -DNDEBUG -DDEBUG -DTEST -DGSM -DDEBUG_MIX -DDEBUG_MEM
X  # -DDEBUG_RTP -DREPEAT
X  
X! DEFS += -D$(OSTYPE) -D$(OSTYPE)_$(OSMVER) 
X  CC     = gcc
X  CFLAGS = -Wall -Werror -Wno-implicit-int $(INCS) $(DEFS) -g -O -fsigned-char
X  LDFLAGS= 
X- LDLIBS=  $(LDLIBS) -lm
X  RANLIB = ranlib
X  RAT_HOME = $(PWD)
X  
X  GSMFLAGS   = -DSASR -DFAST -DUSE_FLOAT_MUL
X  
X! include Makefile_$(OSTYPE)_$(OSMVER)
X  
X! BINDIR = bin/$(USER)
X  SRCDIR = src
X! OBJDIR = objs/$(USER)/$(OSTYPE)_$(OSVERS)
X  OBJS   = $(OBJDIR)/codec_encoder.o \
X           $(OBJDIR)/codec_decoder.o \
X           $(OBJDIR)/codec_lpc.o \
X--- 9,38 ----
X  # -DNDEBUG -DDEBUG -DTEST -DGSM -DDEBUG_MIX -DDEBUG_MEM
X  # -DDEBUG_RTP -DREPEAT
X  
X! DEFS += -D$(OSTYPE)
X  CC     = gcc
X  CFLAGS = -Wall -Werror -Wno-implicit-int $(INCS) $(DEFS) -g -O -fsigned-char
X  LDFLAGS= 
X  RANLIB = ranlib
X  RAT_HOME = $(PWD)
X  
X  GSMFLAGS   = -DSASR -DFAST -DUSE_FLOAT_MUL
X  
X! X11BASE ?= /usr/X11R6
X! TCL_VER ?= 8.2
X! TCL_SHORTVER ?= 82
X! TK_VER ?= 8.2
X! TK_SHORTVER ?= 82
X! TCL_HOME = /usr/local/include/tcl$(TCL_VER)
X! TK_HOME  = /usr/local/include/tk$(TK_VER)
X! INCS   = -I$(X11BASE)/include \
X!          -I$(TCL_HOME)/generic -I$(TK_HOME)/generic
X! LDLIBS = -L/usr/local/lib -L/usr/X11R6/lib \
X!          -ltk$(TK_SHORTVER) -ltcl$(TCL_SHORTVER) -lXext -lX11 -lm
X  
X! BINDIR = bin
X  SRCDIR = src
X! OBJDIR = objs
X  OBJS   = $(OBJDIR)/codec_encoder.o \
X           $(OBJDIR)/codec_decoder.o \
X           $(OBJDIR)/codec_lpc.o \
X***************
X*** 79,87 ****
X            $(OBJDIR)/crypt_random.o \
X            $(OBJDIR)/md5c.o
X  
X! $(BINDIR)/rat-$(OSTYPE)-$(OSVERS): $(OBJS) $(GSMOBJS) $(CRYPTOBJS) $(RATOBJS)
X! 	rm -f $(BINDIR)/rat-$(OSTYPE)-$(OSVERS)
X! 	$(CC) $(RATOBJS) $(OBJS) $(GSMOBJS) $(CRYPTOBJS) $(LDLIBS) $(LDFLAGS) -o $(BINDIR)/rat-$(OSTYPE)-$(OSVERS)
X  
X  $(OBJDIR)/%.o: $(SRCDIR)/%.c
X  	$(CC) $(CFLAGS) $(GSMFLAGS) $(CRYPTFLAGS) -c $(SRCDIR)/$*.c -o $(OBJDIR)/$*.o
X--- 88,96 ----
X            $(OBJDIR)/crypt_random.o \
X            $(OBJDIR)/md5c.o
X  
X! $(BINDIR)/rat: $(OBJS) $(GSMOBJS) $(CRYPTOBJS) $(RATOBJS)
X! 	rm -f $(BINDIR)/rat
X! 	$(CC) $(RATOBJS) $(OBJS) $(GSMOBJS) $(CRYPTOBJS) $(LDLIBS) $(LDFLAGS) -o $(BINDIR)/rat
X  
X  $(OBJDIR)/%.o: $(SRCDIR)/%.c
X  	$(CC) $(CFLAGS) $(GSMFLAGS) $(CRYPTFLAGS) -c $(SRCDIR)/$*.c -o $(OBJDIR)/$*.o
X***************
X*** 134,139 ****
X  	(cd ..; gtar zcvf rat-`date +%Y%m%d`.tgz rat-3.0)
X  
X  depend:
X! 	makedepend $(DEFS) $(INCS) -f Makefile_$(OSTYPE)_$(OSMVER) $(SRCDIR)/*.[ch]
X  
X  
X--- 143,148 ----
X  	(cd ..; gtar zcvf rat-`date +%Y%m%d`.tgz rat-3.0)
X  
X  depend:
X! 	makedepend $(DEFS) $(INCS) $(SRCDIR)/*.[ch]
X  
X  
END-of-rat30/patches/patch-ab
echo x - rat30/patches/patch-ac
sed 's/^X//' >rat30/patches/patch-ac << 'END-of-rat30/patches/patch-ac'
X--- src/auddev_freebsd.c.p1 Mon Sep 18 10:27:40 2000
X+++ src/auddev_freebsd.c Mon Sep 18 10:30:42 2000
X@@ -204,18 +204,10 @@
X   if (audio_fd <= 0) {
X     return;
X   }
X-  switch (iport) {
X-  case AUDIO_MICROPHONE : if (ioctl(audio_fd, MIXER_WRITE(SOUND_MIXER_MIC), &volume) == -1) {
X-                            perror("Setting gain");
X-                          }
X-			  return;
X-  case AUDIO_LINE_IN    : if (ioctl(audio_fd, MIXER_WRITE(SOUND_MIXER_LINE), &volume) == -1) {
X-                            perror("Setting gain");
X-                          }
X-			  return;
X+  if (ioctl(audio_fd, SOUND_MIXER_WRITE_RECLEV, &volume) == -1) {
X+         perror("Setting gain");
X   }
X-  printf("ERROR: Unknown iport in audio_set_gain!\n");
X-  abort();
X+  return;
X }
X 
X int
X@@ -226,17 +218,8 @@
X   if (audio_fd <= 0) {
X     return (0);
X   }
X-  switch (iport) {
X-  case AUDIO_MICROPHONE : if (ioctl(audio_fd, MIXER_READ(SOUND_MIXER_MIC), &volume) == -1) {
X-                            perror("Getting gain");
X-                          }
X-			  break;
X-  case AUDIO_LINE_IN    : if (ioctl(audio_fd, MIXER_READ(SOUND_MIXER_LINE), &volume) == -1) {
X-                            perror("Getting gain");
X-                          }
X-			  break;
X-  default               : printf("ERROR: Unknown iport in audio_set_gain!\n");
X-                          abort();
X+  if (ioctl(audio_fd, SOUND_MIXER_READ_RECLEV, &volume) == -1) {
X+         perror("Setting gain");
X   }
X   return device_to_bat(volume & 0xff);
X }
X@@ -263,7 +246,7 @@
X   if (audio_fd <= 0) {
X     return (0);
X   }
X-  if (ioctl(audio_fd, MIXER_READ(SOUND_MIXER_VOLUME), &volume) == -1) {
X+  if (ioctl(audio_fd, MIXER_READ(SOUND_MIXER_PCM), &volume) == -1) {
X     perror("Getting volume");
X   }
X   return device_to_bat(volume & 0x000000ff); /* Extract left channel volume */
END-of-rat30/patches/patch-ac
echo c - rat30/files
mkdir -p rat30/files > /dev/null 2>&1
echo x - rat30/files/md5
sed 's/^X//' >rat30/files/md5 << 'END-of-rat30/files/md5'
XMD5 (rat-3.0.35.tar.gz) = fff6e4a4c9617c5b7ea80f63fda96a9a
END-of-rat30/files/md5
exit


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009181539.e8IFdO251537>