Re: [ecasound] Inaccurate reporting of length

From: linux media 4 <linuxmedia4@email-addr-hidden>
Date: Sun Oct 04 2009 - 06:19:45 EEST

>> If you run...
>> ecasound -c -f:16,1,44100 -i:jack,system -f:16,1,44100 -o:test.wav
>> Then do...
>> ecasound ('h' for help)> t
>> ecasound ('h' for help)> s
>> Then do...
>> ecalength test.wav
>> It shows an inaccurate length

> Hmm, this is actually a feature. Duration of RIFF WAVE files is stored
> in the file header. Ecasound updates this header only when the file is
> closed (e.g. 'cs-disconnect' or when terminating ecasound).
> So if you use an external program (e.g. ecalength) to check the file
> length, the result will be incorrect until ecasound updates the header
> (e.g. 'cs-disconnect').

>> Again... this can be troublesome if you are writing a Front End and need
>> an updated length without interrupting the chainsetup.

> Couldn't you use ai-get-length/ao-get-length commands to get the file
> length (these don't depend on updating the RIFF header)?
> Alternatively ecasound could update all file headers anytime transport
> is stopped, but this is not entirely trivial to implement (e.g. in case
> ecasound is trying to chase the JACK transport position, this could
> result in quite frequent header updates -- I'm sure there are other
> similar cornercases that need to be considered).

Yeah, that would be making things work harder than they need to. I had
already worked a solution. I just thought that a bug crept up related to
the workaround, but I think I fixed it. I don't think it was related to
the workaround.

Anyways, things work fine now.


Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
Ecasound-list mailing list
Received on Sun Oct 4 08:15:01 2009

This archive was generated by hypermail 2.1.8 : Sun Oct 04 2009 - 08:15:01 EEST