29.01.2015 03:14, David Henningsson wrote: > The resampler framework just forwards the request to the lfe filter. > There are no resampler impl that can rewind yet, so just reset the > resampler impl instead of properly rewinding yet. > > Note: Rewinds on the resampler happens very rarely - since this is > done on the sink-input side rather than the sink side, and PA keeps > a copy of already processed material, then this can only happen if > the client actively rewinds. And I don't know of any application that > actually uses that feature... > > Signed-off-by: David Henningsson <david.henningsson at canonical.com> > --- > +void pa_resampler_rewind(pa_resampler *r, size_t amount) { This needs more documentation, and maybe even a different signature. At least, what amount are we talking about? Input or output samples? How do I convert to the other units? Basically, a proper signature is what would allow this code in pa_sink_input_process_rewind to be removed: /* Transform into local domain */ if (i->thread_info.resampler) max_rewrite = pa_resampler_request(i->thread_info.resampler, max_rewrite); ...because the call to pa_resampler_request() is only valid for appending, not for rewinding samples. -- Alexander E. Patrakov