[FFmpeg-cvslog] fftools/ffmpeg: close output files before cleanup
Marton Balint
git at videolan.org
Sun Dec 12 01:39:54 EET 2021
ffmpeg | branch: master | Marton Balint <cus at passwd.hu> | Tue Nov 30 01:18:14 2021 +0100| [8d66a07d657ba7ed8c5e95345d4eec770b55e438] | committer: Marton Balint
fftools/ffmpeg: close output files before cleanup
This allows us to check the return value of avio_closep().
Signed-off-by: Marton Balint <cus at passwd.hu>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8d66a07d657ba7ed8c5e95345d4eec770b55e438
---
fftools/ffmpeg.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
index 0f1834cdbe..bdeff9a12e 100644
--- a/fftools/ffmpeg.c
+++ b/fftools/ffmpeg.c
@@ -4699,7 +4699,7 @@ static int transcode(void)
term_exit();
- /* write the trailer if needed and close file */
+ /* write the trailer if needed */
for (i = 0; i < nb_output_files; i++) {
os = output_files[i]->ctx;
if (!output_files[i]->header_written) {
@@ -4719,6 +4719,18 @@ static int transcode(void)
/* dump report by using the first video and audio streams */
print_report(1, timer_start, av_gettime_relative());
+ /* close the output files */
+ for (i = 0; i < nb_output_files; i++) {
+ os = output_files[i]->ctx;
+ if (os && os->oformat && !(os->oformat->flags & AVFMT_NOFILE)) {
+ if ((ret = avio_closep(&os->pb)) < 0) {
+ av_log(NULL, AV_LOG_ERROR, "Error closing file %s: %s\n", os->url, av_err2str(ret));
+ if (exit_on_error)
+ exit_program(1);
+ }
+ }
+ }
+
/* close each encoder */
for (i = 0; i < nb_output_streams; i++) {
ost = output_streams[i];
More information about the ffmpeg-cvslog
mailing list