type = TIMER_TYPE_LOST;
}
- while (expected < seqnum) {
+ while (gst_rtp_buffer_compare_seqnum (expected, seqnum) > 0) {
add_timer (jitterbuffer, type, expected, 0, expected_dts, 0, duration);
expected_dts += duration;
expected++;
} else if (timer_timeout == -1) {
/* we already have an immediate timeout, the new timer must be an
* immediate timer with smaller seqnum to become the best */
- if (test_timeout == -1 && test->seqnum < timer->seqnum)
+ if (test_timeout == -1
+ && (gst_rtp_buffer_compare_seqnum (test->seqnum,
+ timer->seqnum) > 0))
save_best = TRUE;
} else if (test_timeout == -1) {
/* first immediate timer */
} else if (test_timeout < timer_timeout) {
/* earlier timer */
save_best = TRUE;
- } else if (test_timeout == timer_timeout && test->seqnum < timer->seqnum) {
+ } else if (test_timeout == timer_timeout
+ && (gst_rtp_buffer_compare_seqnum (test->seqnum,
+ timer->seqnum) > 0)) {
/* same timer, smaller seqnum */
save_best = TRUE;
}