|
|
|
|
@ -3777,14 +3777,11 @@ static bool __dtx_drift_drop(struct dtx_buffer *dtxb, unsigned long ts,
|
|
|
|
|
|
|
|
|
|
return discard;
|
|
|
|
|
}
|
|
|
|
|
static bool __dtx_handle_drift(struct dtx_buffer *dtxb, unsigned long ts,
|
|
|
|
|
|
|
|
|
|
static bool (*__dtx_handle_drift)(struct dtx_buffer *dtxb, unsigned long ts,
|
|
|
|
|
int64_t tv_diff, int64_t ts_diff,
|
|
|
|
|
struct codec_ssrc_handler *ch)
|
|
|
|
|
{
|
|
|
|
|
if (rtpe_config.dtx_shift_us)
|
|
|
|
|
return __dtx_drift_shift(dtxb, ts, tv_diff, ts_diff, ch);
|
|
|
|
|
return __dtx_drift_drop(dtxb, ts, tv_diff, ts_diff, ch);
|
|
|
|
|
}
|
|
|
|
|
struct codec_ssrc_handler *ch);
|
|
|
|
|
|
|
|
|
|
static void __dtx_send_later(struct codec_timer *ct) {
|
|
|
|
|
struct dtx_buffer *dtxb = (void *) ct;
|
|
|
|
|
struct media_packet mp_copy = {0,};
|
|
|
|
|
@ -6472,6 +6469,11 @@ void codecs_init(void) {
|
|
|
|
|
if (tcc->preference)
|
|
|
|
|
have_codec_preferences = true;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rtpe_config.dtx_shift_us)
|
|
|
|
|
__dtx_handle_drift = __dtx_drift_shift;
|
|
|
|
|
else
|
|
|
|
|
__dtx_handle_drift = __dtx_drift_drop;
|
|
|
|
|
#endif
|
|
|
|
|
}
|
|
|
|
|
void codecs_cleanup(void) {
|
|
|
|
|
|