Hi folks, I've finished a round of extension and optimization of Vorbisfile. I'm working on docs to the committed changes right now. I'd appreciate testing of new functionality and verifying old functionality isn't broken. Summary of changes: General seeking cleanup; a number of boundary cases dealing with short files and chained files got fixed in the process. The bugs should have been minor (positioning errors), but they were there. Now they're not. Seeking optimization: When seeking within a single link, the seek operation no longer dumps the decode setup, only the cross-frame lapping state. This means local seeking within a single link (or in an unchained file) is 5-10x faster, depending on platform. bitrate tracking fix; well, not really a fix, but an improvement in accuracy after a seek. No one should be relying on the instantaneous bitrate indicator to mean anything authoritative, but some folks seem to treat it that way anyway. crosslapping API: this API doesn't do anything you couldn't do outside the API, but as Vorbisfile has become popular for sample looping engines and this should save those developers some work. The basic idea is to provide automatic sample lapping, when requested, when seeking to a new point within a sample, or transitioning to a new sample. This works best when the samples are designed to include a little extra data to seed the overlap and overlap cleanly, but the API will extrapolate and smooth even hard edges if required. It also provides smoothed transitions between unrelated audio fragments. No more clicks, no more pops. See the docs (which I might get into CVS tonight) or if you're a hardy soul, read the source. These changes required scattered work throughout libvorbis and vorbisfile. Aside from general 'beat on it!' testing (it passes my unit tests, but that's not the same thing as having the World unleash its fury), one change concerns me, and I'd like someone to test it carefully: I've gone to using static window array data in libvorbis, and these window arrays are exposed to libvorbisfile. Win32 has given us trouble in the past when doing this (although this time, it's being exposed as a function call return, not as an extern). Please let me know if this breaks Windows .dll builds. Thanks, Monty --- >8 ---- List archives: http://www.xiph.org/archives/ Ogg project homepage: http://www.xiph.org/ogg/ To unsubscribe from this list, send a message to 'vorbis-dev-request@xiph.org' containing only the word 'unsubscribe' in the body. No subject is needed. Unsubscribe messages sent to the list will be ignored/filtered.