[nas] Question regarding performance of playRaw and AuHandleEvents()

Matt Prazak prazak_lists at yahoo.com
Wed Jun 23 09:25:43 MDT 2004


--- Matt Prazak <prazak_lists at yahoo.com> wrote:
> --- Matt Prazak <prazak_lists at yahoo.com> wrote:
> > ...
> >
> > I guess my current problem matrix would be, including from
> > host-to-host:
> > 
> >                        nasd on Solaris     nasd on Linux
> > 
> > libao on Solaris       choppy audio        "Audio Error"
> > libao on Linux         choppy audio        very good
> > playRaw on Solaris     good/pegged CPU     good/pegged CPU
> > playRaw on Linux       outputs static      outputs static
> > 
> > I'll look into your suggestions below and see if I can make
> > sense of the patterns in the matrix.
> > 
> > Matt
> >
> > ...
> 
> Minor update:
> 
> The "outputs static" from playRaw under Linux was an endian-ness
> issue, where ogg123's raw output is platform-dependent.  playRaw's
> default raw data format was MSB, which worked with ogg123 on
> UltraSPARC, but switching it to LSB allowed it to work with ogg123
> on Linux.
> 
> 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:

  Audio Error:  BadValue
  Request Major code 24 ()
  Error Serial #9
  Current Serial #47

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.

Matt



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the Nas mailing list