11 March 2008 г. 04:13:02 Jacob Meuser wrote:
> On Tue, Mar 11, 2008 at 03:47:51AM +0300, Vadim Jukov wrote:
> > Applied fully OK now.
> >
> > Some sort of strange results appear. I added "***" comments to a
> > pure terminal grab. All significant pauses (>3s) mentioned (and a
> > few seconds on play needed to distingush "fast" and "normal"
> > output).
> >
> > No "-r 48000" in esd.conf, aRts at defaults (not even restarted).
> > aRts frees OSS device on 10 seconds of inactivity. /etc/esd.conf:
> >
> > <snip>
> > [esd]
> > auto_spawn=1
> > #spawn_options=-r 48000 -d arts -terminate -nobeeps -as 2 -unix
> > spawn_options=-d arts -terminate -nobeeps -as 2 -unix
> > spawn_wait_ms=100
> > </snip>
>
> yeah, this won't work.
>
> a) you need to tell artsd to use at least 2 (best to use 2, 4, or 8)
> buffers of at least 4096 bytes each. artsd uses 1024 byte buffers by
> default. it's probably best to use 4096 bytes buffers in general,
> and increase number of buffers if you experience dropouts.
0. I changed ESD config first, as you tell below, leaving
only "spawn_options=-nobeeps -unix" options line. Now esdplay goes wrong
only first time after ESD start. All consequenced calls plays
at "normal" speed.
1. 4096 bytes x 10 buffers is default in aRts.
2. Only after your words I realized that I used not defaults, but
4096x21 (maximum you can set through aRts cofiguration window).
3. I tried 4 of 4096 bytes buffers, no changes. "Maximum" setting in
aRts configuration window sets "-F 128 -S 8192", it didn't work either.
And aRts defaults (4096x10) didn't change anything.
4. If I "chain" esdplay(1) calls, second and consequent plays "normal"
and together - but only after first esdplay(1) ("fast") ends.
Of course, this is not a big problem. :)
> b) autospawn is busted in the newer esound. there's a comment along
> the lines of "I think this in an Inherently Bad Idea but I'll leave
> it alone for now" where the autospawn code starts.
BTW, if ESD ever had good documentation, I (and others) did not bother
you with so stupid questions... Poor, poor imperfect world :)
> c) even if autospawn worked, it's probably best not to use it in
> combination with other sound servers. don't use -terminate or -as
> either.
(see "0." above)
> I have a script that starts/stops both esd and artsd for
> when I need to use /dev/audio with something else.
Well, as far as I understand, aRts frees "real" device on inactivity, so
it shouldn't bother for ESD now (thanks again! :) ).
> d) you don't need/want '-d arts' for esd. esd will use artsd if and
> only if artsd is running, regardless of -d.
OK, thank you for info.
... Maybe information you give is useful to be put in FAQ? I can try to
do diffs for this.
--
Best wishes,
Vadim Zhukov