aboutsummaryrefslogtreecommitdiffstats
path: root/src/cnetz/dsp.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2016-06-04 15:14:20 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2016-06-12 16:11:20 +0200
commitc933250685b2e4248e66dc8b6893d0df239e76d9 (patch)
tree79bc3fef2c16610eb14da8faf42ad88e7b939ccf /src/cnetz/dsp.c
parent997f8eda4389094027a25b0317b67051cd90b675 (diff)
Add dsp mode change fuction to A and B Netz, fixed NMT
Diffstat (limited to 'src/cnetz/dsp.c')
-rw-r--r--src/cnetz/dsp.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/cnetz/dsp.c b/src/cnetz/dsp.c
index 585a068..cca40dc 100644
--- a/src/cnetz/dsp.c
+++ b/src/cnetz/dsp.c
@@ -639,7 +639,7 @@ again:
if (--cnetz->sched_switch_mode == 0) {
/* OgK / SpK(K) / SpK(V) */
PDEBUG(DDSP, DEBUG_INFO, "Switching channel (mode)\n");
- cnetz->dsp_mode = cnetz->sched_dsp_mode;
+ cnetz_set_dsp_mode(cnetz, cnetz->sched_dsp_mode);
}
}
@@ -827,3 +827,16 @@ void unshrink_speech(cnetz_t *cnetz, int16_t *speech_buffer, int count)
cnetz->sender.rxbuf_pos = pos;
}
+void cnetz_set_dsp_mode(cnetz_t *cnetz, enum dsp_mode mode)
+{
+ PDEBUG(DDSP, DEBUG_DEBUG, "DSP mode %d -> %d\n", cnetz->dsp_mode, mode);
+ cnetz->dsp_mode = mode;
+}
+
+void cnetz_set_sched_dsp_mode(cnetz_t *cnetz, enum dsp_mode mode, int frames_ahead)
+{
+ PDEBUG(DDSP, DEBUG_DEBUG, "Schedule DSP mode %d -> %d in %d frames\n", cnetz->dsp_mode, mode, frames_ahead);
+ cnetz->sched_dsp_mode = mode;
+ cnetz->sched_switch_mode = frames_ahead;
+}
+