Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
小白菜888
Ffmpeg
提交
4b83fc0f
F
Ffmpeg
项目概览
小白菜888
/
Ffmpeg
通知
3
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
Ffmpeg
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
4b83fc0f
编写于
3月 03, 2010
作者:
V
Vitor Sessak
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Plug memory leak in NUT muxer and demuxer
Originally committed as revision 22174 to
svn://svn.ffmpeg.org/ffmpeg/trunk
上级
1f6d0d42
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
31 addition
and
3 deletion
+31
-3
doc/APIchanges
doc/APIchanges
+3
-0
libavformat/nut.c
libavformat/nut.c
+11
-0
libavformat/nut.h
libavformat/nut.h
+1
-0
libavformat/nutdec.c
libavformat/nutdec.c
+1
-0
libavformat/nutenc.c
libavformat/nutenc.c
+1
-0
libavutil/avutil.h
libavutil/avutil.h
+1
-1
libavutil/tree.c
libavutil/tree.c
+0
-2
libavutil/tree.h
libavutil/tree.h
+13
-0
未找到文件。
doc/APIchanges
浏览文件 @
4b83fc0f
...
...
@@ -12,6 +12,9 @@ libavutil: 2009-03-08
API changes, most recent first:
2010-03-03 - r22174 - lavu 50.10.0 - av_tree_enumerate()
Add av_tree_enumerate().
2010-02-07 - r21673 - lavu 50.9.0 - av_compare_ts()
Add av_compare_ts().
...
...
libavformat/nut.c
浏览文件 @
4b83fc0f
...
...
@@ -69,6 +69,17 @@ void ff_nut_add_sp(NUTContext *nut, int64_t pos, int64_t back_ptr, int64_t ts){
}
}
static
void
enu_free
(
void
*
opaque
,
void
*
elem
)
{
av_free
(
elem
);
}
void
ff_nut_free_sp
(
NUTContext
*
nut
)
{
av_tree_enumerate
(
nut
->
syncpoints
,
NULL
,
NULL
,
enu_free
);
av_tree_destroy
(
nut
->
syncpoints
);
}
const
Dispositions
ff_nut_dispositions
[]
=
{
{
"default"
,
AV_DISPOSITION_DEFAULT
},
{
"dub"
,
AV_DISPOSITION_DUB
},
...
...
libavformat/nut.h
浏览文件 @
4b83fc0f
...
...
@@ -110,6 +110,7 @@ int64_t ff_lsb2full(StreamContext *stream, int64_t lsb);
int
ff_nut_sp_pos_cmp
(
Syncpoint
*
a
,
Syncpoint
*
b
);
int
ff_nut_sp_pts_cmp
(
Syncpoint
*
a
,
Syncpoint
*
b
);
void
ff_nut_add_sp
(
NUTContext
*
nut
,
int64_t
pos
,
int64_t
back_ptr
,
int64_t
ts
);
void
ff_nut_free_sp
(
NUTContext
*
nut
);
extern
const
Dispositions
ff_nut_dispositions
[];
...
...
libavformat/nutdec.c
浏览文件 @
4b83fc0f
...
...
@@ -901,6 +901,7 @@ static int nut_read_close(AVFormatContext *s)
av_freep
(
&
nut
->
time_base
);
av_freep
(
&
nut
->
stream
);
ff_nut_free_sp
(
nut
);
for
(
i
=
1
;
i
<
nut
->
header_count
;
i
++
)
av_freep
(
&
nut
->
header
[
i
]);
...
...
libavformat/nutenc.c
浏览文件 @
4b83fc0f
...
...
@@ -797,6 +797,7 @@ static int write_trailer(AVFormatContext *s){
while
(
nut
->
header_count
<
3
)
write_headers
(
nut
,
bc
);
put_flush_packet
(
bc
);
ff_nut_free_sp
(
nut
);
av_freep
(
&
nut
->
stream
);
av_freep
(
&
nut
->
time_base
);
...
...
libavutil/avutil.h
浏览文件 @
4b83fc0f
...
...
@@ -40,7 +40,7 @@
#define AV_VERSION(a, b, c) AV_VERSION_DOT(a, b, c)
#define LIBAVUTIL_VERSION_MAJOR 50
#define LIBAVUTIL_VERSION_MINOR
9
#define LIBAVUTIL_VERSION_MINOR
10
#define LIBAVUTIL_VERSION_MICRO 0
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
...
...
libavutil/tree.c
浏览文件 @
4b83fc0f
...
...
@@ -135,7 +135,6 @@ void av_tree_destroy(AVTreeNode *t){
}
}
#if 0
void
av_tree_enumerate
(
AVTreeNode
*
t
,
void
*
opaque
,
int
(
*
cmp
)(
void
*
opaque
,
void
*
elem
),
int
(
*
enu
)(
void
*
opaque
,
void
*
elem
)){
if
(
t
){
int
v
=
cmp
?
cmp
(
opaque
,
t
->
elem
)
:
0
;
...
...
@@ -144,7 +143,6 @@ void av_tree_enumerate(AVTreeNode *t, void *opaque, int (*cmp)(void *opaque, voi
if
(
v
<=
0
)
av_tree_enumerate
(
t
->
child
[
1
],
opaque
,
cmp
,
enu
);
}
}
#endif
#ifdef TEST
...
...
libavutil/tree.h
浏览文件 @
4b83fc0f
...
...
@@ -79,4 +79,17 @@ void *av_tree_find(const struct AVTreeNode *root, void *key, int (*cmp)(void *ke
void
*
av_tree_insert
(
struct
AVTreeNode
**
rootp
,
void
*
key
,
int
(
*
cmp
)(
void
*
key
,
const
void
*
b
),
struct
AVTreeNode
**
next
);
void
av_tree_destroy
(
struct
AVTreeNode
*
t
);
/**
* Applies enu(opaque, &elem) to all the elements in the tree in a given range.
*
* @param cmp a comparison function that returns < 0 for a element below the
* range, > 0 for a element above the range and == 0 for a
* element inside the range
*
* @note The cmp function should use the same ordering used to construct the
* tree.
*/
void
av_tree_enumerate
(
struct
AVTreeNode
*
t
,
void
*
opaque
,
int
(
*
cmp
)(
void
*
opaque
,
void
*
elem
),
int
(
*
enu
)(
void
*
opaque
,
void
*
elem
));
#endif
/* AVUTIL_TREE_H */
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录