func: static struct cue_point ne_find_cue_point_for_tstamp(nestegg * ctx, struct ebml_list_node * cue_point, unsigned int track, uint64_t scale, uint64_t tstamp) uint64_t time ; while ( cue_point )  c = cue_point -> data; if ( ne_get_uint ( c -> time , & time ) == 0 && time * scale > tstamp )  if ( ne_find_cue_position_for_track ( ctx , c -> cue_track_positions . head , track ) != NULL )  cue_point = cue_point -> next; static struct cue_track_positions ne_find_cue_position_for_track(nestegg * ctx, struct ebml_list_node * node, unsigned int track) uint64_t track_number ; unsigned int t ; while ( node )  pos = node -> data; if ( ne_get_uint ( pos -> track , & track_number ) != 0 )  if ( ne_map_track_number_to_index ( ctx , track_number , & t ) != 0 )  if ( t == track )  node = node -> next; static ne_map_track_number_to_index(nestegg * unsigned int unsigned int * track_index) struct ebml_list_node * node ; struct track_entry * t_entry ; uint64_t t_number = 0 ; if ( ! track_index )  if ( track_number == 0 )  node = ctx -> segment . tracks . track_entry . head; while ( node )  t_entry = node -> data; if ( ne_get_uint ( t_entry -> number , & t_number ) != 0 )  if ( t_number == track_number )  node = node -> next; static ne_get_uint(struct ebml_type type, uint64_t * value) if ( ! type . read )  assert ( type . type == TYPE_UINT ); 