[nas] Question regarding performance of playRaw and AuHandleEvents()
Jon Trulson
jon at radscan.com
Wed Jun 23 20:52:00 MDT 2004
On Wed, 23 Jun 2004, Matt Prazak wrote:
> From: Matt Prazak <prazak_lists at yahoo.com>
> Date: Wed, 23 Jun 2004 08:25:43 -0700 (PDT)
> Subject: Re: [nas] Question regarding performance of playRaw and
> AuHandleEvents()
> To: jon at radscan.com
> Cc: nas at radscan.com
> X-Spam-Status: No, hits=-4.5 required=5.0 tests=AWL,BAYES_00 autolearn=no
> version=2.60
>
> --- Matt Prazak <prazak_lists at yahoo.com> wrote:
> > --- Matt Prazak <prazak_lists at yahoo.com> wrote:
> > > ...
> > >
[...]
> > Matt
> >
>
> Two things:
>
> First, the "Audio Error" mentioned above is when going from Solaris to
> Linux; could this also be endian-dependent? The actual error text is:
>
It shouldn't be... NAS is endian safe...
> Audio Error: BadValue
> Request Major code 24 ()
> Error Serial #9
> Current Serial #47
>
This is Au_WriteElement. Out of curiousity, have you tried just
using auplay (on solaris) to send a wav to a remote nas server
(solaris->linux)? Does that work?
> Second, regarding the choppy output on Solaris, I have tried changin
> many variables both in nasd.conf and in the source code itself with no
> real improvement. In ausuni.c, increasing MINIBUF_SAMPLES can slow
> down the choppiness and increasing SIGNAL_RATE can speed it up, but
> nothing I've tried gets rid of it. I enabled DEBUGLOG for ausuni.c,
> and some of the output is below. One thing that is interesting is that
> the frequency of the chop corresponded exactly with the output of each
> block of text as ogg123 was running.
>
> ...lots of similar blocks of text...
>
> enableProcessFlow()
> writeEmptyOutput(bufSize=3200)
> processAudioSignal...
> writeOutput(n=800, n*4=3200)
> writeOutput(n=224, n*4=896)
> setWriteOutputFunction()
> disableProcessFlow()
> ...processAudioSignal [0.050990 0.000002 0.041996]
> setWriteOutputFunction()
>
> enableProcessFlow()
> writeEmptyOutput(bufSize=3200)
> processAudioSignal...
> writeOutput(n=800, n*4=3200)
> writeOutput(n=224, n*4=896)
> setWriteOutputFunction()
> disableProcessFlow()
> ...processAudioSignal [0.072940 0.000002 0.042005]
> setWriteOutputFunction()
>
> ...
>
> Is any of this helpful in seeing what might be the next thing to try?
> I'm not sure if it is important, but my hardware is an Ultra 30 with
> the
> default CS4231 audio card.
>
Unfortunately, I know next to nothing about the ausuni module - it
was written by Charles Levert, whom I haven't heard from in a couple of
years. The code does mention your chip specifically, so that's
encouraging.
There do seem to be a lot of tweakables in there though -
delayed_trigger seems interesting.
It's also worth looking at whether BSD_SIGNALS is being set/used
properly. There's some strange stuff there.
I would first see if auplay and friends have these problems too.
Did you find any interesting/related by googling radscan.com? (ie:
'delayed_trigger site:radscan.com').. There might be some hints in the
list archive somewhere...
--
Jon Trulson mailto:jon at radscan.com
ID: 1A9A2B09, FP: C23F328A721264E7 B6188192EC733962
PGP keys at http://radscan.com/~jon/PGPKeys.txt
#include <std/disclaimer.h>
"I am Nomad." -Nomad
More information about the Nas
mailing list