[FFmpeg-devel] [PATCHv2] avfilter/buffersrc: add av_warn_unused_result attributes
Ronald S. Bultje
rsbultje at gmail.com
Sun Oct 11 20:31:28 CEST 2015
Hi,
On Sun, Oct 11, 2015 at 2:20 PM, Ganesh Ajjanagadde <gajjanag at mit.edu>
wrote:
> On Wed, Oct 7, 2015 at 10:18 AM, Ganesh Ajjanagadde <gajjanag at mit.edu>
> wrote:
> > On Wed, Oct 7, 2015 at 10:01 AM, Clément Bœsch <u at pkh.me> wrote:
> >> On Wed, Oct 07, 2015 at 09:31:49AM -0400, Ganesh Ajjanagadde wrote:
> >>> On Wed, Oct 7, 2015 at 8:59 AM, Clément Bœsch <u at pkh.me> wrote:
> >>> > On Tue, Oct 06, 2015 at 06:53:47PM -0400, Ganesh Ajjanagadde wrote:
> >>> >> This adds av_warn_unused_result whenever it is relevant.
> >>> >>
> >>> >> Signed-off-by: Ganesh Ajjanagadde <gajjanagadde at gmail.com>
> >>> >> ---
> >>> >> libavfilter/buffersrc.h | 3 +++
> >>> >> 1 file changed, 3 insertions(+)
> >>> >>
> >>> >> diff --git a/libavfilter/buffersrc.h b/libavfilter/buffersrc.h
> >>> >> index cd3d95f..847c093 100644
> >>> >> --- a/libavfilter/buffersrc.h
> >>> >> +++ b/libavfilter/buffersrc.h
> >>> >> @@ -78,6 +78,7 @@ unsigned
> av_buffersrc_get_nb_failed_requests(AVFilterContext *buffer_src);
> >>> >> * This function is equivalent to av_buffersrc_add_frame_flags()
> with the
> >>> >> * AV_BUFFERSRC_FLAG_KEEP_REF flag.
> >>> >> */
> >>> >> +av_warn_unused_result
> >>> >> int av_buffersrc_write_frame(AVFilterContext *ctx, const AVFrame
> *frame);
> >>> >>
> >>> >> /**
> >>> >> @@ -98,6 +99,7 @@ int av_buffersrc_write_frame(AVFilterContext
> *ctx, const AVFrame *frame);
> >>> >> * This function is equivalent to av_buffersrc_add_frame_flags()
> without the
> >>> >> * AV_BUFFERSRC_FLAG_KEEP_REF flag.
> >>> >> */
> >>> >> +av_warn_unused_result
> >>> >> int av_buffersrc_add_frame(AVFilterContext *ctx, AVFrame *frame);
> >>> >>
> >>> >> /**
> >>> >> @@ -115,6 +117,7 @@ int av_buffersrc_add_frame(AVFilterContext
> *ctx, AVFrame *frame);
> >>> >> * @return >= 0 in case of success, a negative AVERROR
> code
> >>> >> * in case of failure
> >>> >> */
> >>> >> +av_warn_unused_result
> >>> >> int av_buffersrc_add_frame_flags(AVFilterContext *buffer_src,
> >>> >> AVFrame *frame, int flags);
> >>> >>
> >>> >
> >>> > Aren't you just supposed to (void)-prefix the call in the caller
> when you
> >>> > explicitly don't care about the result?
> >>> >
> >>> > These functions certainly looks like you actually want to check for
> the
> >>> > result most of the time.
> >>>
> >>> Exactly - this addition to the declaration in the header will trigger
> >>> a warning whenever this function is used without obtaining the return
> >>> value.
> >>>
> >>
> >> Oh, my bad, I misunderstood, sounds indeed saner than what I had in
> mind.
> >>
> >> Thanks for the clarification.
> >
> > By the way, I highly encourage all developers to slowly start adding
> > this to relevant headers, at least in the things they respectively
> > maintain. For instance, a bunch of possible bugs/robustness issues
> > will be fixed. Here is one I noticed today: by applying to
> > init_get_bits8, a few warnings get triggered. There have been commits
> > from Michael addressing some CID's related to this - this will ensure
> > a complete weeding out of that particular issue.
>
> ping
Yes, sorry, pushed.
Ronald
More information about the ffmpeg-devel
mailing list