aboutsummaryrefslogtreecommitdiffstats
path: root/src/fuenf/fuenf.c
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2022-07-31 07:55:14 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2022-10-23 16:56:27 +0200
commit2b7efedc483362d3afc2ae71dfb716ac5427f600 (patch)
tree675898699f0cd411fee8af8435b5b13ad9784234 /src/fuenf/fuenf.c
parent4fc92eba45a9c197317bdea02d9811c784d77775 (diff)
Refactoring jitter buffer
Features are: * Packet based buffer * Random in, first out * Adaptive delay compensation (voice) * Fixed delay (data, optionally MODEM/FAX) * Interpolation of missing frames * Any sample size
Diffstat (limited to 'src/fuenf/fuenf.c')
-rw-r--r--src/fuenf/fuenf.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/fuenf/fuenf.c b/src/fuenf/fuenf.c
index 4a3eb90..4466094 100644
--- a/src/fuenf/fuenf.c
+++ b/src/fuenf/fuenf.c
@@ -390,7 +390,7 @@ void call_down_release(int callref, int cause)
}
/* Receive audio from call instance. */
-void call_down_audio(int callref, sample_t *samples, int count)
+void call_down_audio(int callref, uint16_t sequence, uint32_t timestamp, uint32_t ssrc, sample_t *samples, int count)
{
sender_t *sender;
fuenf_t *fuenf;
@@ -403,11 +403,8 @@ void call_down_audio(int callref, sample_t *samples, int count)
if (!sender)
return;
- if (fuenf->state == FUENF_STATE_DURCHSAGE) {
- sample_t up[(int)((double)count * fuenf->sender.srstate.factor + 0.5) + 10];
- count = samplerate_upsample(&fuenf->sender.srstate, samples, count, up);
- jitter_save(&fuenf->sender.dejitter, up, count);
- }
+ if (fuenf->state == FUENF_STATE_DURCHSAGE)
+ jitter_save(&fuenf->sender.dejitter, samples, count, 1, sequence, timestamp, ssrc);
}
void dump_info(void) {}