@drugoimir - yes caching a waveform is not a question... The question is how to decode file without consuming time? Using cache is possible, but it will still take time for first time display.
Currently it takes couple of seconds to decode 5 minute MP3, but users complaing that it's too much wait and they want instant waveform display. =)
Decoder will always return the same data, regardless of the buffer size
Of course, but speed can be different. Eg if you do millions of calls to _GetData with 1 byte buffer, it will take some time to decode