On Thu, 2013-03-21 at 16:40 +0600, Alexander E. Patrakov wrote: > 2013/3/21 Tanu Kaskinen <tanuk at iki.fi>: > > On Wed, 2013-03-20 at 17:50 +0600, Alexander E. Patrakov wrote: > >> Tanu: I am still waiting for your reply regarding the best way to do > >> clickless rewinds in IIR filters (i.e. one of: "disallow rewinds", > >> "keep full history of the intermediate state", or some creative > >> solution). > > > > Oh, I didn't realize that a reply was needed. Your description of the > > problem and the suggested solutions were pretty spot on. > > > > Keeping a full history of the internal state would be the best solution, > > as far as I can see. "Full" means > > pa_memblockq_get_maxrewind(u->memblockq). Changes to the maxrewind value > > can be caught in sink_input_update_max_rewind_cb(). > > Is it guaranteed that, after a sink_input_update_max_rewind_cb() that > communicates pulseaudio's decision to increase max_rewind, pulseaudio > will not actually attempt to rewind that much until the filter has a > chance to accumulate that much history? Yes, that's guaranteed. -- Tanu