Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
F
ffmpeg.wasm-core
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Linshizhi
ffmpeg.wasm-core
Commits
73ed8558
Commit
73ed8558
authored
Mar 25, 2014
by
Anton Khirnov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
avconv: simplify exit_program() by using more local vars
parent
dcbfb780
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
33 additions
and
24 deletions
+33
-24
avconv.c
avconv.c
+33
-24
No files found.
avconv.c
View file @
73ed8558
...
...
@@ -145,46 +145,52 @@ static void avconv_cleanup(int ret)
int
i
,
j
;
for
(
i
=
0
;
i
<
nb_filtergraphs
;
i
++
)
{
avfilter_graph_free
(
&
filtergraphs
[
i
]
->
graph
);
for
(
j
=
0
;
j
<
filtergraphs
[
i
]
->
nb_inputs
;
j
++
)
{
av_freep
(
&
filtergraphs
[
i
]
->
inputs
[
j
]
->
name
);
av_freep
(
&
filtergraphs
[
i
]
->
inputs
[
j
]);
FilterGraph
*
fg
=
filtergraphs
[
i
];
avfilter_graph_free
(
&
fg
->
graph
);
for
(
j
=
0
;
j
<
fg
->
nb_inputs
;
j
++
)
{
av_freep
(
&
fg
->
inputs
[
j
]
->
name
);
av_freep
(
&
fg
->
inputs
[
j
]);
}
av_freep
(
&
f
iltergraphs
[
i
]
->
inputs
);
for
(
j
=
0
;
j
<
f
iltergraphs
[
i
]
->
nb_outputs
;
j
++
)
{
av_freep
(
&
f
iltergraphs
[
i
]
->
outputs
[
j
]
->
name
);
av_freep
(
&
f
iltergraphs
[
i
]
->
outputs
[
j
]);
av_freep
(
&
f
g
->
inputs
);
for
(
j
=
0
;
j
<
f
g
->
nb_outputs
;
j
++
)
{
av_freep
(
&
f
g
->
outputs
[
j
]
->
name
);
av_freep
(
&
f
g
->
outputs
[
j
]);
}
av_freep
(
&
filtergraphs
[
i
]
->
outputs
);
av_freep
(
&
filtergraphs
[
i
]
->
graph_desc
);
av_freep
(
&
fg
->
outputs
);
av_freep
(
&
fg
->
graph_desc
);
av_freep
(
&
filtergraphs
[
i
]);
}
av_freep
(
&
filtergraphs
);
/* close files */
for
(
i
=
0
;
i
<
nb_output_files
;
i
++
)
{
AVFormatContext
*
s
=
output_files
[
i
]
->
ctx
;
OutputFile
*
of
=
output_files
[
i
];
AVFormatContext
*
s
=
of
->
ctx
;
if
(
s
&&
s
->
oformat
&&
!
(
s
->
oformat
->
flags
&
AVFMT_NOFILE
)
&&
s
->
pb
)
avio_close
(
s
->
pb
);
avformat_free_context
(
s
);
av_dict_free
(
&
output_files
[
i
]
->
opts
);
av_dict_free
(
&
of
->
opts
);
av_freep
(
&
output_files
[
i
]);
}
for
(
i
=
0
;
i
<
nb_output_streams
;
i
++
)
{
AVBitStreamFilterContext
*
bsfc
=
output_streams
[
i
]
->
bitstream_filters
;
OutputStream
*
ost
=
output_streams
[
i
];
AVBitStreamFilterContext
*
bsfc
=
ost
->
bitstream_filters
;
while
(
bsfc
)
{
AVBitStreamFilterContext
*
next
=
bsfc
->
next
;
av_bitstream_filter_close
(
bsfc
);
bsfc
=
next
;
}
o
utput_streams
[
i
]
->
bitstream_filters
=
NULL
;
av_frame_free
(
&
o
utput_streams
[
i
]
->
filtered_frame
);
o
st
->
bitstream_filters
=
NULL
;
av_frame_free
(
&
o
st
->
filtered_frame
);
av_parser_close
(
output_streams
[
i
]
->
parser
);
av_parser_close
(
ost
->
parser
);
av_freep
(
&
ost
->
forced_keyframes
);
av_freep
(
&
ost
->
avfilter
);
av_freep
(
&
ost
->
logfile_prefix
);
av_freep
(
&
output_streams
[
i
]
->
forced_keyframes
);
av_freep
(
&
output_streams
[
i
]
->
avfilter
);
av_freep
(
&
output_streams
[
i
]
->
logfile_prefix
);
av_freep
(
&
output_streams
[
i
]);
}
for
(
i
=
0
;
i
<
nb_input_files
;
i
++
)
{
...
...
@@ -192,11 +198,14 @@ static void avconv_cleanup(int ret)
av_freep
(
&
input_files
[
i
]);
}
for
(
i
=
0
;
i
<
nb_input_streams
;
i
++
)
{
av_frame_free
(
&
input_streams
[
i
]
->
decoded_frame
);
av_frame_free
(
&
input_streams
[
i
]
->
filter_frame
);
av_dict_free
(
&
input_streams
[
i
]
->
opts
);
av_freep
(
&
input_streams
[
i
]
->
filters
);
av_freep
(
&
input_streams
[
i
]
->
hwaccel_device
);
InputStream
*
ist
=
input_streams
[
i
];
av_frame_free
(
&
ist
->
decoded_frame
);
av_frame_free
(
&
ist
->
filter_frame
);
av_dict_free
(
&
ist
->
opts
);
av_freep
(
&
ist
->
filters
);
av_freep
(
&
ist
->
hwaccel_device
);
av_freep
(
&
input_streams
[
i
]);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment