Le quartidi 14 vendémiaire, an CCXXIV, Ganesh Ajjanagadde a écrit :
> - ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts);
> + if (!layouts)
> + return AVERROR(ENOMEM);
> + if ((ret = ff_channel_layouts_ref(layouts,
> &inlink->out_channel_layouts)) < 0) {
> + ff_channel_layouts_unref(&layouts);
> + return ret;
This is a pattern that comes frequently, there is probably room for code
factorization.
How about this: currently, ff_formats_ref() and cousins reject NULL with
AVERROR_BUG. If it is changed to return AVERROR(ENOMEM) instead, then all
the "if (!formats) return AVERROR(ENOMEM);" become unnecessary.
Second, if ff_formats_ref() is changed to unref the format list on failure,
then all the unref become unnecessary. The changed code would be just:
layouts = ff_all_channel_counts();
- ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts);
+ if ((ret = ff_channel_layouts_ref(layouts, &inlink->out_channel_layouts))
< 0)
+ return ret;
That is rather less cluttered.
What do you think about this?
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
