Delivery timeval in the smoother object will fall behind while a DTMF is
being generated. This can eventually lead to invalid rtp timestamps.
To prevent this from happening the smoother needs to be reset after every
DTMF to keep the timing up to date.
ASTERISK-28303 #close
Change-Id: Iaba3f7b428ebd72a4caa90e13b829ab4f088310f
/* Oh and we can't forget to turn off the stuff that says we are sending DTMF */
rtp->lastts += calc_txstamp(rtp, NULL) * DTMF_SAMPLE_RATE_MS;
+
+ /* Reset the smoother as the delivery time stored in it is now out of date */
+ if (rtp->smoother) {
+ ast_smoother_free(rtp->smoother);
+ rtp->smoother = NULL;
+ }
cleanup:
rtp->sending_digit = 0;
rtp->send_digit = 0;