aboutsummaryrefslogtreecommitdiffstats
path: root/ffmpeg.c
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-04 19:33:50 -0800
committerGanesh Ajjanagadde <gajjanagadde@gmail.com>2016-01-05 19:06:21 -0800
commita956840cbcf89d709c4bd5980808ac0b5c8aeedf (patch)
tree3b30ebbf52cdb9ae9200e2625e755173cba51b77 /ffmpeg.c
parentda3c3c446cb434be9d0025f519e00c2385135c85 (diff)
downloadffmpeg-a956840cbcf89d709c4bd5980808ac0b5c8aeedf.tar.gz
ffmpeg: check return value of avio_closep for progress report
avio_closep is not guaranteed to succeed, and its return value can contain information regarding failure of preceding writes and silent loss of data (man 2 close, man fclose). Users should know when the progress was not successfully logged, and so a diagnostic is printed here. Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Reviewed-by: James Almer <jamrial@gmail.com> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
Diffstat (limited to 'ffmpeg.c')
-rw-r--r--ffmpeg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ffmpeg.c b/ffmpeg.c
index c533785f15..dd853560ee 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1501,6 +1501,7 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
static int64_t last_time = -1;
static int qp_histogram[52];
int hours, mins, secs, us;
+ int ret;
float t;
if (!print_stats && !is_last_report && !progress_avio)
@@ -1667,7 +1668,9 @@ static void print_report(int is_last_report, int64_t timer_start, int64_t cur_ti
avio_flush(progress_avio);
av_bprint_finalize(&buf_script, NULL);
if (is_last_report) {
- avio_closep(&progress_avio);
+ if ((ret = avio_closep(&progress_avio)) < 0)
+ av_log(NULL, AV_LOG_ERROR,
+ "Error closing progress log, loss of information possible: %s\n", av_err2str(ret));
}
}