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

From: Kai Vehmanen <kvehmanen@email-addr-hidden>
Date: Sun May 18 2008 - 17:11:48 EEST


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).

This email is sponsored by: Microsoft 
Defy all challenges. Microsoft(R) Visual Studio 2008.
Ecasound-list mailing list
Received on Sun May 18 20:15:02 2008

This archive was generated by hypermail 2.1.8 : Sun May 18 2008 - 20:15:02 EEST