aboutsummaryrefslogtreecommitdiffstats
path: root/jitterbuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'jitterbuf.c')
-rwxr-xr-xjitterbuf.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/jitterbuf.c b/jitterbuf.c
index 3bdd3b533..26d58cb6f 100755
--- a/jitterbuf.c
+++ b/jitterbuf.c
@@ -310,11 +310,16 @@ static void queue_put(jitterbuf *jb, void *data, int type, long ms, long ts)
jb->frames = frame;
frame->next = frame;
frame->prev = frame;
+ } else if (ts < jb->frames->ts) {
+ frame->next = jb->frames;
frame->prev = jb->frames->prev;
frame->next->prev = frame;
frame->prev->next = frame;
+ /* frame is out of order */
+ jb->info.frames_ooo++;
+
jb->frames = frame;
} else {
p = jb->frames;