Suspicious code in rtp_send_frame ( libtrau/rtp_proxy.c )

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Andreas Eversberg andreas at eversberg.eu
Thu Aug 8 14:05:09 UTC 2013


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





More information about the OpenBSC mailing list