Also the dtmf encoder will return less samples, if the digit(+pause)
ends, so that the caller call set the next digit to play seamlessly.
A reset function allows to clear the decoder states, to prevent glitches
when re-attaching to an interrupted stream.
Passing samples with zero value (0.0) causes very slow processing of
IIR filter on my test machine 'nuedel'. I don't know why.
To solve this, I add a very small number to each input sample.