- pos2= st->index_entries[index].pos;
- ts = st->index_entries[index].timestamp;
- }else{
- av_tree_find(nut->syncpoints, &dummy, ff_nut_sp_pts_cmp, next_node);
- av_log(s, AV_LOG_DEBUG, "%"PRIu64"-%"PRIu64" %"PRId64"-%"PRId64"\n", next_node[0]->pos, next_node[1]->pos,
- next_node[0]->ts , next_node[1]->ts);
- pos= av_gen_search(s, -1, dummy.ts, next_node[0]->pos, next_node[1]->pos, next_node[1]->pos,
- next_node[0]->ts , next_node[1]->ts, AVSEEK_FLAG_BACKWARD, &ts, nut_read_timestamp);
-
- if(!(flags & AVSEEK_FLAG_BACKWARD)){
- dummy.pos= pos+16;
- next_node[1]= &nopts_sp;
- av_tree_find(nut->syncpoints, &dummy, ff_nut_sp_pos_cmp, next_node);
- pos2= av_gen_search(s, -2, dummy.pos, next_node[0]->pos , next_node[1]->pos, next_node[1]->pos,
- next_node[0]->back_ptr, next_node[1]->back_ptr, flags, &ts, nut_read_timestamp);
- if(pos2>=0)
- pos= pos2;
- //FIXME dir but i think it does not matter
+ pos2 = st->index_entries[index].pos;
+ ts = st->index_entries[index].timestamp;
+ } else {
+ av_tree_find(nut->syncpoints, &dummy, (void *) ff_nut_sp_pts_cmp,
+ (void **) next_node);
+ av_log(s, AV_LOG_DEBUG, "%"PRIu64"-%"PRIu64" %"PRId64"-%"PRId64"\n",
+ next_node[0]->pos, next_node[1]->pos, next_node[0]->ts,
+ next_node[1]->ts);
+ pos = ff_gen_search(s, -1, dummy.ts, next_node[0]->pos,
+ next_node[1]->pos, next_node[1]->pos,
+ next_node[0]->ts, next_node[1]->ts,
+ AVSEEK_FLAG_BACKWARD, &ts, nut_read_timestamp);
+
+ if (!(flags & AVSEEK_FLAG_BACKWARD)) {
+ dummy.pos = pos + 16;
+ next_node[1] = &nopts_sp;
+ av_tree_find(nut->syncpoints, &dummy, (void *) ff_nut_sp_pos_cmp,
+ (void **) next_node);
+ pos2 = ff_gen_search(s, -2, dummy.pos, next_node[0]->pos,
+ next_node[1]->pos, next_node[1]->pos,
+ next_node[0]->back_ptr, next_node[1]->back_ptr,
+ flags, &ts, nut_read_timestamp);
+ if (pos2 >= 0)
+ pos = pos2;
+ // FIXME dir but I think it does not matter