Lines Matching defs:entry
104 CacheEntry *entry = NULL, *next[2] = {NULL, NULL};
125 entry = av_tree_find(c->root, &c->logical_pos, cmp, (void**)next);
127 if (!entry)
128 entry = next[0];
130 if (!entry ||
131 entry->logical_pos + entry->size != c->logical_pos ||
132 entry->physical_pos + entry->size != pos
134 entry = av_malloc(sizeof(*entry));
136 if (!entry || !node) {
140 entry->logical_pos = c->logical_pos;
141 entry->physical_pos = pos;
142 entry->size = ret;
144 entry_ret = av_tree_insert(&c->root, entry, cmp, &node);
145 if (entry_ret && entry_ret != entry) {
151 entry->size += ret;
157 av_free(entry);
165 CacheEntry *entry, *next[2] = {NULL, NULL};
168 entry = av_tree_find(c->root, &c->logical_pos, cmp, (void**)next);
170 if (!entry)
171 entry = next[0];
173 if (entry) {
174 int64_t in_block_pos = c->logical_pos - entry->logical_pos;
175 av_assert0(entry->logical_pos <= c->logical_pos);
176 if (in_block_pos < entry->size) {
177 int64_t physical_target = entry->physical_pos + in_block_pos;
186 r = read(c->fd, buf, FFMIN(size, entry->size - in_block_pos));