hi sylvain,
Sylvain Munaut wrote:
if (abs(frame_diff) > 1) {
long int frame_diff_excess = frame_diff - 1;
LOGP(DLMUX, LOGL_NOTICE,
"Correcting frame difference of %ld
frames\n", frame_diff_excess);
rs->transmit.sequence += frame_diff_excess;
rs->transmit.timestamp += frame_diff_excess * duration;
}
...
This code is a hack to update the sequence number
and timestamp in case it
seems to be wrong. It makes handover much more reliable.
Does this speak to anyone ?
iirc, it is mandatory to maintain sequence/timestamp over time. some RTP
endpoints (like nanoBTS) do not like significant change of these
sequence numbers and will drop received RTP frames, because they are too
much off the expected time then. they actually adapt only slight changes
but no big jumps. maybe it makes sense to increase the number of
absolute frame difference. with what setup did you have bad audio?
regards,
andreas