Here is the patch.
-----------------------------------------------------
You probably want to remove the i4l handling of DTMF and silence
suppression. You can do this by commenting out the signal processing
routines in the kernel i4l code. This stops wasted work from being done.
I posted the patch below a while back - not sure it it still works.
Iain
--- /build/linux-2.4.20/drivers/isdn/isdn_tty.c Fri Dec 21 17:41:54 2001
+++ isdn_tty.c Sat Feb 1 09:14:33 2003
@@ -133,9 +133,9 @@
if (info->online) {
r = 0;
#ifdef CONFIG_ISDN_AUDIO
- isdn_audio_eval_dtmf(info);
- if ((info->vonline & 1) &&
(info->emu.vpar[1]))
- isdn_audio_eval_silence(info);
+// isdn_audio_eval_dtmf(info);
+// if ((info->vonline & 1) &&
(info->emu.vpar[1]))
+// isdn_audio_eval_silence(info);
#endif
if ((tty = info->tty)) {
if (info->mcr & UART_MCR_RTS) {
@@ -190,10 +190,10 @@
#ifdef CONFIG_ISDN_AUDIO
ifmt = 1;
- if ((info->vonline) && (!info->emu.vpar[4]))
- isdn_audio_calc_dtmf(info, skb->data, skb->len, ifmt);
- if ((info->vonline & 1) && (info->emu.vpar[1]))
- isdn_audio_calc_silence(info, skb->data, skb->len, ifmt);
+// if ((info->vonline) && (!info->emu.vpar[4]))
+// isdn_audio_calc_dtmf(info, skb->data, skb->len, ifmt);
+// if ((info->vonline & 1) && (info->emu.vpar[1]))
+// isdn_audio_calc_silence(info, skb->data, skb->len, ifmt);
#endif
if ((info->online < 2)
#ifdef CONFIG_ISDN_AUDIO
----------------------------------------------------