[nas] NAS Version 1.7 (stable) is released!
jon at radscan.com
Sun Nov 14 16:40:17 MST 2004
It can be found at the usual location:
or the mirror at:
The only change from the 1.6g pre-release is a little build fix
for Cygwin systems. Both server and clients work fine under Cygwin (as of
11/11/2004 anyways :).
Thanks to all of those who sent in patches and tested on various
platforms. NAS has definitely benefited because of it :)
The following is the HISTORY file section detailing the changes
from 1.6 (stable) to 1.7 (stable).
11/14/2004 1.7 (stable)
- 1.7 release :)
- fixed config/Imakefile so 'configure' command would work
under cygwin. Tested clients/server under cygwin.
- 1.7 release candidate
- corrected a possible race condition in auvoxware that could
cause the server to hang under certain conditions. I do not
know why I haven't seen this problem before, but I could
recreate it easily by killing auplay while playing a long
If the system restarts syscalls after a signal handler has
run, a situation could arise where the previous timer was
never disabled. This could cause a previous ioctl(DSP_SYNC)
called from setSampleRate() to be constantly interrupted and
restarted, causing an apparent hang.
Now we just turn off the timer as the first thing in
setSampleRate() so DSP_SYNC can actually finish.
We also turn off the timer when openDevice is called, so the
'wait for device to become available' code can work too.
- Patch from Tobias Diedrich that allows mixer init to
fail in the voxware server.
With this patch "aoss nasd" works, without it would fail
(aoss is the alsa oss wrapper script, which simply preloads
libaoss.so, a wrapper library similar to libaudiooss).
Combining this with the alsa dmix feature should allow nas
to coexist with other daemons like artsd.
See http://radscan.com/nas/nas-ml/msg01121.html for more
- redid the FAQ in an attempt to make it more useful. I'll
try to keep it up to date.
- updated libtool due to a problem(s) reported by Steve
- clear CFLAGS before building config/config.h
- emit the release string to the log and stdout when
verbose is enabled.
- if '-V' specified, emit release string and stdout and exit.
- add a limit of 5 retries on failure to open input device.
- barring major problems, this is a release candidate.
- add autoconf/configure support for config/. Now, during the
'includes' phase of the nas build, configure will try to
figure out some things about your system and build a
config.h file that the rest of nas can use. Prompted by
John Wehle's patch below.
NOTE: you still build nas like always with the imake
facility. configure in this case is only concerned with
locating various header files, functions, and the like.
- added FreeBSD 5.x patches from John Wehle correcting
malloc.h/stdlib.h use and other issues.
- remove ioctl(devAudio, AUDIO_DRAIN, 0) call from
disableProcessFlow() in dda/sun/ausuni.c that seems to cause
problems (server hangs) with certain sun audio
- applied patch from James Lee correcting a coredump in
- corrected problem with dia/auprocess.c that caused SIGFPE's
in nasd when an element with a samplerate of 0 was
processed. Thanks to Tobias Diedrich for a test case.
- removed some pre-R5 cruft from lib/audio/ConnSvr.c that
caused build problems on some solaris systems.
- Fixed up some Cygwin issues... All of the clients and the
server seem to compile and work fine now. I tested both
local and remote, to and from unix and cygwin.
- Added patch from Steve McIntyre, adding a new '-config'
option to nasd. This allows you to start nasd with
alternate configuration files rather than the default of
/etc/nas/nasd.conf. Useful if you have multiple sound
- Added 64bit fixes from Per Oyvind Karlsen
- corrected a coredump with the clients in 1.6a when using a
non-zero display number. GetAuthorization() was a bit
confused about the order of it's arguements...
- preparing a long overdue development release
- ANSI'ification of libaudio.
There seemed to be some confusion with the order of
arguments to the AuSoundRecordToFile*() functions.
The function declarations were made to match the prototype
definition and the man page.
- Modified Scott Presnell's patch to not enable BSD44SOCKETS
on Linux or SVR4 systems. There are some structure members
used that are not present on these (and perhaps other)
If you run into compilarion problems with ConnSvr.c relating
to invalid structure members, look at the define of
BSD44SOCKETS in Imakefile and correct for your system as
needed. Oh, send me the patch as well? :)
- added some more useful debugging info. If you get the old
'cannot create audio block connection info" try running
nasd with '-v -d 99' and see what the real error is.
- certain ioctl() requests are no longer fatal (like
SOUND_MIXER_WRITE_RECSRC and SOUND_MIXER_READ_RECSRC).
Recording may not work properly if these fail though.
- added patch from Marty Leisner cleaning up a couple of error
messages in server/os/connection.c
- added a patch to the contrib section by Laurent Vivier - this
patch adds NAS support to the esound daemon on AIX systems.
Should be reasonably portable to other platforms as well.
Rumor has it that the Ximian folks are adding this support
officially into esound.
- set timer in auvoxware.c to trigger when 50% of the samples
are predicted to be consumed... This hopefully will help
with underruns on some systems/OS's... I'm not sure why
this is happening on those systems (it's not happened on any
of the systems I've used NAS on), so this should probably
be considered a harmless workaround.
- Patch from Scott Presnell to set BSD44SOCKETS properly for
- patch from Steve McIntyre correcting a typo in Xtutil.h
Jon Trulson mailto:jon at radscan.com
ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
PGP keys at http://radscan.com/~jon/PGPKeys.txt
"I am Nomad." -Nomad
More information about the Nas