Re: [ecasound] Erratic behavior on jump via ECI with transport rolling

From: Joel Roth <joelz@email-addr-hidden>
Date: Mon May 19 2008 - 02:45:33 EEST

On Sun, May 18, 2008 at 05:11:48PM +0300, Kai Vehmanen wrote:
> Hi,
> On Tue, 29 Apr 2008, Joel Roth wrote:
>> For a while I have noticed that when I move the playback
>> head with IAM forward/rewind/setpos via ECI
>> (Audio::Ecasound), I encounter delays of two to ten seconds
> you managed to solve this already, but a couple of comments still (which
> might help to understand what happens inside the engine).
>> The chain setups are okay: run directly from Ecasound
>> command mode I find no such delays on issuing jump commands.
>> The problems have persisted after I upgraded Ecasound to
>> When polled during the delay, the engine_status shows 'stopped'.
>> A partial work-around I found is to stop the transport
>> before the jump and then to start the transport again.
> One thing to watch out for is that ECI commands are not executed in a
> synchronous manner. So when you issue a seek ('seek to pos X'), you are
> in fact sending a request to the engine, not actually performing action.
> So when your ECI command returns, the engine may, or may not, have
> performed the seek at that point. If you now check the current status
> with another ECI command, it will return the actual status of the engine,
> which might differ from your latest request.
> The commands are also queued, so for instance submitting another seek
> doesn't cancel the prior ones (but the order is of course kept).

Thanks Kai, for explaining how ECI commands get executed.

I've traced my engine problems to off-by-one errors in my
cop-select operations that resulted in my attempting to
alter the state of non-existent chain operators.
The engine would stumble over these operations for
many seconds, during which time the engine would be
showing 'stopped' status.

Joel Roth
This email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008.
Ecasound-list mailing list
Received on Mon May 19 04:15:02 2008

This archive was generated by hypermail 2.1.8 : Mon May 19 2008 - 04:15:02 EEST