#if David Faure > [...] > We could make a base "layer" class, and > associate layers to mimetypes, add some configuration for whether > to use a given layer automatically or not, etc. > The compression stuff (KFilterBase/KFilterDev) is only one case of > layer - the one between compressed data and uncompressed data. Great, this is similar to what I was thinking, except that I got a headache when I started thinking about how apps would find the right 'layer' (servicetypes and all that) and the best name I had was 'Inline Streaming Data Reprocessor' ;) > In fact if you agree that QIODevice is a nice API for such things, > then that's our base class. KIO could plug any QIODevice on top of > data read from the network-transparency stuff (including kio_file), > allowing any kind of conversion on top of that. That's why KFilterDev > is a QIODevice too. Would the wav<->audio stuff fit in a QIODevice ? Yes, definitely. QIODevice is well designed and fits well here. OT: If you're interfacing with a well-designed library like libvorbis, you can use a QIODevice and get network transparency for free. Lovely. Rik