[FFmpeg-devel] [PATCH]ffmpeg: Check the return values of two functions

Carl Eugen Hoyos cehoyos at ag.or.at
Sun Feb 12 17:48:57 EET 2017


Hi!

Attached patch written yesterday silences warnings when compiling 
ffmpeg.c, don't know how useful it is, only fate-tested.

Please comment, Carl Eugen
-------------- next part --------------
From 525aff909aec50d4e1a49f289ff9069300a4b51f Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <cehoyos at ag.or.at>
Date: Sun, 12 Feb 2017 16:41:21 +0100
Subject: [PATCH] ffmpeg: Check the return value of two functions declared
 "warn_unused_result".

---
 ffmpeg.c |   20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/ffmpeg.c b/ffmpeg.c
index 06570c0..9952da6 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -215,14 +215,18 @@ static void sub2video_copy_rect(uint8_t *dst, int dst_linesize, int w, int h,
 static void sub2video_push_ref(InputStream *ist, int64_t pts)
 {
     AVFrame *frame = ist->sub2video.frame;
-    int i;
+    int i, ret;
 
     av_assert1(frame->data[0]);
     ist->sub2video.last_pts = frame->pts = pts;
-    for (i = 0; i < ist->nb_filters; i++)
-        av_buffersrc_add_frame_flags(ist->filters[i]->filter, frame,
+    for (i = 0; i < ist->nb_filters; i++) {
+        ret = av_buffersrc_add_frame_flags(ist->filters[i]->filter, frame,
                                      AV_BUFFERSRC_FLAG_KEEP_REF |
                                      AV_BUFFERSRC_FLAG_PUSH);
+        if (ret < 0)
+            av_log(ist->filters[i]->filter, AV_LOG_ERROR,
+                   "Failed to add a frame to the buffer source.\n");
+    }
 }
 
 static void sub2video_update(InputStream *ist, AVSubtitle *sub)
@@ -290,12 +294,16 @@ static void sub2video_heartbeat(InputStream *ist, int64_t pts)
 
 static void sub2video_flush(InputStream *ist)
 {
-    int i;
+    int i, ret;
 
     if (ist->sub2video.end_pts < INT64_MAX)
         sub2video_update(ist, NULL);
-    for (i = 0; i < ist->nb_filters; i++)
-        av_buffersrc_add_frame(ist->filters[i]->filter, NULL);
+    for (i = 0; i < ist->nb_filters; i++) {
+        ret = av_buffersrc_add_frame(ist->filters[i]->filter, NULL);
+        if (ret < 0)
+            av_log(ist->filters[i]->filter, AV_LOG_ERROR,
+                   "Failed to add a frame to the buffer source.\n");
+    }
 }
 
 /* end of sub2video hack */
-- 
1.7.10.4



More information about the ffmpeg-devel mailing list