[pulseaudio-discuss] Rewind Handling in module-lfe-lp
Justin Chudgar
justin at justinzane.com
Tue Mar 26 19:34:24 PDT 2013
https://github.com/justinzane/pulseaudio/blob/master/src/modules/module-lfe-lp.c
First, thanks to both of you for helping me get this far. I've got a mostly
correct (I think) filter setup based on Alexander's feedback. Now I'm trying to
get rewind buffering done. I've read the wiki page that Tanu sent and I've been
talking to ohsix on IRC.
All of which has left me more educated but just as clueless about what to
actually implement.... :(
My understanding is that since I've got a causal filter, I need to do one of
the two things when a rewind request appears:
1 - buffer the biquad samples so that I can restart filtering the rewound input
memblock_q immediately
- or -
2 - buffer the input samples for at least sample_rate/20 and when a rewind come
in, set the biquad samples to 0.0 and filter the buffered input.
Is this even remotely correct?
Also, is it possible? likely? for a rewind to occur during the processing of a
sink_input_pop_cb? Since this is where the filtering occurs, how does one
manage locking of the shared userdata?
The more focused on my little bit of code, the better, and thanks again.
More information about the pulseaudio-discuss
mailing list