Skip to content
Snippets Groups Projects
Commit a8613e9b authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont
Browse files

rtp: optimise negation out

Perform the misordering comparison in unsigned space.
parent 3a0fd782
No related branches found
No related tags found
1 merge request!871rtp: fix sign expansion
Pipeline #157076 passed with stage
in 19 minutes and 21 seconds
......@@ -301,7 +301,7 @@ static int OpenSDP(vlc_object_t *obj)
sys->max_src = var_InheritInteger(obj, "rtp-max-src");
sys->timeout = vlc_tick_from_sec(var_InheritInteger(obj, "rtp-timeout"));
sys->max_dropout = var_InheritInteger(obj, "rtp-max-dropout");
sys->max_misorder = var_InheritInteger(obj, "rtp-max-misorder");
sys->max_misorder = -var_InheritInteger(obj, "rtp-max-misorder");
sys->autodetect = true;
demux->pf_demux = NULL;
......@@ -443,7 +443,7 @@ static int OpenURL(vlc_object_t *obj)
p_sys->max_src = var_CreateGetInteger (obj, "rtp-max-src");
p_sys->timeout = vlc_tick_from_sec( var_CreateGetInteger (obj, "rtp-timeout") );
p_sys->max_dropout = var_CreateGetInteger (obj, "rtp-max-dropout");
p_sys->max_misorder = var_CreateGetInteger (obj, "rtp-max-misorder");
p_sys->max_misorder = -var_CreateGetInteger (obj, "rtp-max-misorder");
p_sys->autodetect = true;
demux->pf_demux = NULL;
......
......@@ -331,8 +331,8 @@ rtp_queue (demux_t *demux, rtp_session_t *session, block_t *block)
int16_t s;
} delta_seq = { .u = seq - src->max_seq };
if ((delta_seq.s > 0) ? (delta_seq.s > p_sys->max_dropout)
: (-delta_seq.s > p_sys->max_misorder))
if ((delta_seq.s > 0) ? (delta_seq.u > p_sys->max_dropout)
: (delta_seq.u < p_sys->max_misorder))
{
msg_Dbg (demux, "sequence discontinuity"
" (got: %"PRIu16", expected: %"PRIu16")", seq, src->max_seq);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment