[FFmpeg-devel] [PATCH]ffmpeg: Check the return values of two functions
Nicolas George
george at nsup.org
Sun Feb 12 18:00:52 EET 2017
Le quartidi 24 pluviôse, an CCXXV, Carl Eugen Hoyos a écrit :
> 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
> 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);
When the changes are that small, I think it is better to fix the
indentation at the same time rather than leave it like that or fix it in
a separate commit.
> + if (ret < 0)
> + av_log(ist->filters[i]->filter, AV_LOG_ERROR,
> + "Failed to add a frame to the buffer source.\n");
Please mention it is a "subtitle video frame" and include the error
message itself (av_err2str(ret)).
> + }
> }
>
> 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");
Same as above of course.
> + }
> }
>
> /* end of sub2video hack */
Apart from that, the patch looks good to me in principle.
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170212/7c7273b5/attachment.sig>
More information about the ffmpeg-devel
mailing list