Hello,
I just thought to let you know what the current state of the
jumping waveform problem is.
The first interesting finding is that the normal case for mp3 decoding
is not that you get exactly the same material as the input, but that
delay is added before and after the waveform. I.e. the extra 50 ms
delay (silence) at the beginning and the end of the material are normal.
They cannot be avoided.
The question is now - how much delay. While the delay added by the
encoder varies, the one which is really interesting for us is that of the
decoder, the
decoding delay.
It should not vary, according to the standards, and it does not for most
of the decoders. See
http://mp3decoders.mp3-tech.org/decoder ... tml#delays
for example.
There are known decoders which add less silence at the start,
for example the mp3source decoder (or lame, if you decode into files).
Still I have no proof that our users were using one of these decoders.
Detection is difficult because usually when the problem occurs
(i.e. silence is added) its because the bad decoder is already gone.
So I think there might be another problem than just such a decoder.
I hope that somebody who can reproduce the problem will give
me enough information to find out what's going on.
Concerning possible fixes, first of all I will not decide what to do
before the problem is not reproduced, for it can be something more
complicated than just a decoder with less delay.
For the varying delay. the fix would be to deliver a well-known mp3 file
with Live, which is decoded to see what the decoding delay is, and to
compensate it if it differs from the delay we measure here at Ableton
with the standard decoders, in the assumption that the delay does
not differ from file to file (we'd need one for vbr and one without,
their delays vary).
Also, we already have a fix in the next Live release which uses the
ACM codecs delivered with various applications (e.g. Windows Media Player
9 etc.), in favour of other DirectShow decoders, which have a reputation
of good correctness and high reliability.
Ralf