Re: Bug report: strange crash

"S. Massy" <[email protected]>
Newsgroups gmane.comp.audio.ecasound.general
Message-ID <20120412185314.GA12965@solidbox>
On Thu, Apr 12, 2012 at 06:49:04PM +0300, Kai Vehmanen wrote:
> Hi,
> 
> On Wed, 11 Apr 2012, S. Massy wrote:
> 
> >- Implementing stop/replace_effect_logic/start:
> > It no longer crashes but is slow even for one effect, and can take
> > upwards of ten seconds to bypass or restore a whole chain of effects.
> > A random amount of audio gets chopped off.
> 
> yes, I'm afraid this is expected. The stop/start procedure is slow
> (a lot of work is done before and after stopping).
Why is audio lost? Do the buffers get flushed?

> 
> >- Implementing stop-sync/replace_effect_logic/start:
> > No crash, bypassing one effect (IOW cop-remove/cop-add) is pretty
> > instantaneous, but bypassing several can take up to two seconds, which
> > is long but much less than the previous instance. When bypassing one
> > effect, there seems to be no obvious audio lost, but a random amount
> > of audio gets chopped off when bypassing several effects in one go.
> 
> Yes, this will help as you can reduce number of stop-starts (do many
> changes in one go).
Well, I'm embarrassed to say, I went back in the code and found out the
replace_effect logic is actually nested in a foreach loop, so the way I
ran the test, stop-sync/start would end up getting executed five times
in a row to bypass a whole chain, which can't be good any way you look
at it. I now moved those statements out of the loop, which makes much
better sense and actually works well. Sorry about the misleading report
there.

> 
> >- Current method stop/sleep/replace_effect_logic/sleep/start with
> > ecasound 2.8.1:
> > We sleep a total of 0.3 seconds, 0.2 between stopping and replacing
> > the effects. No audio lost, no significant delay, no matter how many
> > effects are being replaced.
> 
> But I fear this is just not reliable. The 0.3/0.2 values depend on
> setup complexity, disk i/o speed (compared to amount of bandwidth
> needed by the setup), CPU speed, system load. So it'll be impossible
> to pick values that are reliable for everybody. :(
True on all counts.

> 
> In the end, I think the sane way forward is for me to add cop-bypass
> to the next ecasound version. Considering the overall effort, adding
> cop-bypass is a lot less work than doing complicated optimizations
> to the stop-start logic.
I think it would be a valuable addition to ecasound's feature-set,
whichever way you look at it. We would probably need a cop-is-bypassed
command as well, to provide a way to check.

Cheers,
S.M.

-- 

------------------------------------------------------------------------------
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
http://p.sf.net/sfu/Boundary-d2dvs2
_______________________________________________
Ecasound-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ecasound-list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.