diff nut.c @ 2349:a9dc7596498a libavformat

move syncpoint cache related stuff to common file
author michael
date Thu, 09 Aug 2007 23:24:02 +0000
parents 4a06a51ceb70
children a67b89ba136d
line wrap: on
line diff
--- a/nut.c	Thu Aug 09 21:35:13 2007 +0000
+++ b/nut.c	Thu Aug 09 23:24:02 2007 +0000
@@ -42,3 +42,21 @@
     return  ((lsb - delta)&mask) + delta;
 }
 
+int ff_nut_sp_pos_cmp(syncpoint_t *a, syncpoint_t *b){
+    return (a->pos - b->pos>>32) - (b->pos - a->pos>>32);
+}
+
+int ff_nut_sp_pts_cmp(syncpoint_t *a, syncpoint_t *b){
+    return (a->ts - b->ts>>32) - (b->ts - a->ts>>32);
+}
+
+void ff_nut_add_sp(NUTContext *nut, int64_t pos, int64_t back_ptr, int64_t ts){
+    syncpoint_t *sp2, *sp= av_mallocz(sizeof(syncpoint_t));
+
+    sp->pos= pos;
+    sp->back_ptr= back_ptr;
+    sp->ts= ts;
+    sp2= av_tree_insert(&nut->syncpoints, sp, ff_nut_sp_pos_cmp);
+    if(sp2 && sp2 != sp)
+        av_free(sp);
+}