summaryrefslogtreecommitdiff
path: root/libavfilter/formats.c
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-26 00:09:16 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-09-26 12:41:33 +0200
commit99feb59cf7ea9d6753502d76110ced96f128dac6 (patch)
treee0f823719df3fbb9db44e7c421bf84d894210320 /libavfilter/formats.c
parentaff855148a098c70c0a55c58aeb1205d839ed516 (diff)
downloadffmpeg-99feb59cf7ea9d6753502d76110ced96f128dac6.tar.gz
avfilter/formats: Make ff_formats_pixdesc_filter return AVFilterFormats*
Up until now, it has returned the AVFilterFormats list via an AVFilterFormats** parameter; the actual return value was an int that was always AVERROR(ENOMEM) on error. The AVFilterFormats** argument was a pure output parameter which was only documented by naming the parameter rfmts. Yet nevertheless all callers initialized the underlying AVFilterFormats* to NULL. This commit changes this to return a pointer to AVFilterFormats directly. This is more in line with the API in general, as it allows to avoid checks for intermediate values. Reviewed-by: Nicolas George <george@nsup.org> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
Diffstat (limited to 'libavfilter/formats.c')
-rw-r--r--libavfilter/formats.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 1bf7d36195..59ea966424 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -452,7 +452,7 @@ AVFilterFormats *ff_all_formats(enum AVMediaType type)
return ret;
}
-int ff_formats_pixdesc_filter(AVFilterFormats **rfmts, unsigned want, unsigned rej)
+AVFilterFormats *ff_formats_pixdesc_filter(unsigned want, unsigned rej)
{
unsigned nb_formats, fmt, flags;
AVFilterFormats *formats = NULL;
@@ -476,18 +476,17 @@ int ff_formats_pixdesc_filter(AVFilterFormats **rfmts, unsigned want, unsigned r
}
if (formats) {
av_assert0(formats->nb_formats == nb_formats);
- *rfmts = formats;
- return 0;
+ return formats;
}
formats = av_mallocz(sizeof(*formats));
if (!formats)
- return AVERROR(ENOMEM);
+ return NULL;
formats->nb_formats = nb_formats;
if (nb_formats) {
formats->formats = av_malloc_array(nb_formats, sizeof(*formats->formats));
if (!formats->formats) {
av_freep(&formats);
- return AVERROR(ENOMEM);
+ return NULL;
}
}
}