summaryrefslogtreecommitdiff
path: root/libavformat/nut.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2008-01-04 17:52:16 +0000
committerMichael Niedermayer <michaelni@gmx.at>2008-01-04 17:52:16 +0000
commit6e8b982bcc1ff1b647b28d70a5900ed1bb41e52a (patch)
tree1e8972327b9f47d04444ada6d95d88412280a0d0 /libavformat/nut.c
parentf1917274cc900a1d29879117a1bfbc74ac44f88a (diff)
downloadffmpeg-6e8b982bcc1ff1b647b28d70a5900ed1bb41e52a.tar.gz
Move *malloc() out of tree.c, that way the code can be used with
flat arrays which have lower overhead than millions of mallocd() elements. Originally committed as revision 11399 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/nut.c')
-rw-r--r--libavformat/nut.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libavformat/nut.c b/libavformat/nut.c
index 7eb53136d5..546bde1cd0 100644
--- a/libavformat/nut.c
+++ b/libavformat/nut.c
@@ -48,12 +48,15 @@ int ff_nut_sp_pts_cmp(syncpoint_t *a, syncpoint_t *b){
}
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));
+ syncpoint_t *sp= av_mallocz(sizeof(syncpoint_t));
+ struct AVTreeNode *node= av_mallocz(av_tree_node_size);
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_tree_insert(&nut->syncpoints, sp, ff_nut_sp_pos_cmp, &node);
+ if(node){
av_free(sp);
+ av_free(node);
+ }
}