

      XAnim Revision 2.70.1  Beta

NOTE: VMS users - The make.com files etc are configured yet with
      the new changes. Let me know if you succeed in doing so. Thanks.


This release contains experimental code that forks off a new process
in order to handle the audio stream. It uses pipe(), fork() and
select() to create this process and setup communication between
the parent video process and the child audio process. I'm working
on eliminating the need for select(), but I might find I have
to go the other way as well. We'll see.

Having a separate audio process will prevent cpu intensive video
codecs(like jpeg and mpeg) from causing starvation of audio device(this
definitely did occur with the prior revs under heavy loads). It
also prevents audio device blocking from affecting video.

WARNING: It's possible that the child process will live on if the
parent process core dumps. In this release,  the audio child checks
the parents pid IF it hasn't heard from the parent in over 5 seconds.
If the pid returned isn't the same as it was at birth, the child dies.
However, you should be familiar with "ps" and "kill" in order to 
find and terminate the child and thereby free up the audio device
if this fails on your machine.

It has been compiled and tested on a Sparc 10 running SunOS 4.1.3 and X11R5.

I am very interested in hearing about how this ports to other machines
and what needed to be done, if anything. I'm also interested in how
well the video/audio stays in sync, etc.

I try to answer all email, but not all messages have correct return
addresses. Also, please mention which Rev of XAnim and what machine
you have for bug reports, etc.

Thanks,

Mark
---
podlipec@wellfleet.com
podlipec@baynetworks.com
podlipec@shell.portal.com


NOTE: see compile.help for compiling information.


--------------------------------------------------------------
What's Supported
--------------------------------------------------------------

 XAnim supports the following AVI/Quicktime Audio Codecs:

     AVI 8 and 16 bit RAW(PCM) mono/stereo.
     AVI ADPCM is supported(mono only for now).
     Quicktime 8 and 16 bit RAW(PCM) mono/stereo.
     Quicktime 8 and 16 bit TWOS(signed PCM) mono/stereo.
     Quicktime MAC3/MAC6/IMA4 are *NOT* supported.

 XAnim supports audio on the following machines:

        Sun Sparcs
        NEC EWS workstations
	Sony NEWS 5000 series workstations
        SGI Indigo
        PC  with soundcards running unix/linux/QNX
        Any machine running AudioFile(AF)
        Any machine(or Xterminal) running Net Audio (NAS)
        HP 9000/715 - sort of working - still has problems.
	IBM AIX S6000 machines with audio.
	DEC Alpha workstations running Multimedia Services

--------------------------------------------------------------
Generic Bug's
--------------------------------------------------------------
  + Remote Control Window colors not selectable.
  + HP support pseudo functional. Still needs a lot of work.
  + Some MPEG Type I frames aren't correctly support. I know what's
    wrong, just need to find time to fix it.
  + The NAS xanim audio code is new and has problems when you stop/restart
    it(echoing). I'm going to look into debugging it before backing it out.

--------------------------------------------------------------
New(or Fixes) to 2.70.1
--------------------------------------------------------------
  + Dithering added to MPEG (+F option on by default)
  + Dithering added to JPEG (+F option on by default)
  + AUDIO:  SOLARIS define replaces with SVR4
  + BOFL: audio code now checks for parent pid if it hasn't
    heard from the parent in over 5 seconds. If parent pid
    has changes(ie the child is orphaned, then it dies). I think
    this is cleaner that setting an arbitrary time limit. There
    is still a 24 hour failsafe.
  + audio_exit bug fixed for those running without audio.

--------------------------------------------------------------
New(or Fixes) to 2.70.0
--------------------------------------------------------------
  + Makefile partitioned a litte better and hopefully makes
    configuration easier.
  + WAV and AU audio only files now work(by creating fake anim).
  + Added Sun AU audio file support
  + QT: greyscale colormap fix with +CF4 option.
  + AUDIO: DEC Multimedia Services added by Tom Morris.
  + AUDIO: NetBSD audio support by Roland C Dowdeswell.
  + AUDIO: Sony audio patch for SVR4/NEWS-OS 6.x by Takashi Hagiwara
  + Acorn Replay Movie support.
  + Parallax Motion JPEG with ULAW audio support.
  + Keyboard commands now work in Remote Control window as well as
    animation window.



--------------------------------------------------------------
New(or Fixes) to 2.69.7.8a
--------------------------------------------------------------
  + Radius Cinepak support removed by request from Radius(hopefully
    temporary).

--------------------------------------------------------------
Configuring For Your Machine
--------------------------------------------------------------

  You'll need to edit the Makefile or the Imakefile. Go to the Audio 
  section and uncomment out the DEFINE's associated with your machine
  type. Make sure no other machine's DEFINE's are uncommented. That 
  would be bad. 


NOTE: Below needs to be updated for various machines and is
definitely incomplete, but may also be out-of-date.

--------------------------------------------------------------
Sun Sparc Specific Info
--------------------------------------------------------------

  IF YOUR ARE USING OPENWINDOWS THEN YOU MUST USE Makefile.unx
  AND YOU MUST EDIT THE CHANGES REQUIRED. This is because of
  bugs/deficiencies with the OpenWindows Athena libraries.
  See top of Makefile.unx for more details.

  Having some problems with gcc, because it wants to use it's
  own include files and they're usually wrong(or out of date).
  Use cc if this happens.

  If you are using Solaris, use the -DSVR4 define in the Makefile.

--------------------------------------------------------------
Linux(soundcard) Specific Info
--------------------------------------------------------------

  Compiles and runs on 8 bit and 16 bit sound cards(sound driver 2.5 and 2.99).
  Some video/audio syncing problem with driver 2.5 that got better with 2.99.

--------------------------------------------------------------
SGI Specific Info
--------------------------------------------------------------

  NEWSFLASH. The audio stuff should be included now in Irix 5.3.
  If you still have 5.1 or 5.2 and you owned the development CD
  under a previous release of Irix, you can complain about 
  "loss of functionality" and get the new copy.

  If you have Irix 5.1 or greater then make sure you have installed 
  the digital media development subsystem (dmedia_dev.sw.audio) off
  of the CD-ROM.  

  If this isn't on your CD_ROM then read on...

  "according to the 5.2 readme first page, it says
   that the Audio Development software has been moved from
   the IDO to a purchasable option, IRIS media libraries. "

  And you either have to contact SGI and buy it($495) OR

  In the meantime, you can compile XAnim on an Irix 4.0.5 machine
  and the XAnim binary should work back on the original Irix 5.1
  or 5.2 machine. 

  Once XAnim audio is stablized on SGI's, I should be able to provide
  an xanim executable.  NOTE: I don't have nor can I legally distribute
  the SGI audio libraries and include files.



--------------------------------------------------------------
HP Specific Info
--------------------------------------------------------------

  Written and getting better, but still has a ways to go.

  With HP's you need to start up the system Audio Server before
  you can use ANY audio program. Here's how(from the Audio.man
  page on an HP 700/915):

           Step 1.   Start the NCS Local Location Broker Daemon.
                     Task 1.   If you are not already superuser, log in as
                               superuser.
                     Task 2.   Enter the command line /usr/etc/ncs/llbd&&&&.
                               To make llbd start automatically at boot
                               time, edit the file /etc/netncsrc and change
                               the line START_LLBD=0 to START_LLBD=1.
           Step 2.   Reboot.
           Step 3.   Set the AUDIO environment variable to specify the node
                     where the audio client should look for the audio
                     server.  If AUDIO is not set or if it is set to :0, the
                     client connects with a server on the same node.

                     To specify that the client should connect to a server
                     on another node, set

                          AUDIO = node_name: (Korn, Bourne, and POSIX
                          shells)
                          export AUDIO

                     or

                          setenv AUDIO node_name: (C shell)

           Step 4.   Normally, the audio server starts whenever the system
                     is booted.  Check for the existence of the Aserver
                     processes by typing

                     ps -e | grep Aserver

           You should see two Aserver processes.  If the server is not
           running, start the audio server by hand by typing

                /usr/audio/bin/Aserver

           Then type

                ps -e | grep Aserver

           and check that there are two active server processes.

--------------------------------------------------------------
IBM RS6000  Specific Info
--------------------------------------------------------------

  Waiting for feedback on how it works.

--------------------------------------------------------------
AudioFile (AF) Specific Info
--------------------------------------------------------------

  I haven't brought up AF yet on my machine, but have gotten
  reports that it works okay.

--------------------------------------------------------------
Net Audio (NAS) Specific Info
--------------------------------------------------------------

  I have brought NAS up on my machine and have fine tuned it. NAS
  has some deficiencies that make it difficult to keep audio/video
  in sync. Hopefully they'll improve it and likewise I'll improve 
  my understanding of it and work from there.

--------------------------------------------------------------
Any comments, questions, bugs, fixes, etc  email me at 
podlipec@wellfleet.com or podlipec@shell.portal.com

If you make changes to the audio code, please send entire 
xanim_audio.c file unless the patches are minor.

--------------------------------------------------------------
