[FFmpeg-cvslog] avfilter/tests/filtfmts: Check for existence of formats/channel layouts
Andreas Rheinhardt
git at videolan.org
Sun Oct 10 13:07:38 EEST 2021
ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Tue Oct 5 22:18:36 2021 +0200| [9a1547ba1e4e733aaf8d77ccc3d3576edea9f190] | committer: Andreas Rheinhardt
avfilter/tests/filtfmts: Check for existence of formats/channel layouts
Fixes segfaults with filters that either return AVERROR(EAGAIN)
(or another error) or that do not set everything and rely on
filter_query_formats() to set the rest.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=9a1547ba1e4e733aaf8d77ccc3d3576edea9f190
---
libavfilter/tests/filtfmts.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libavfilter/tests/filtfmts.c b/libavfilter/tests/filtfmts.c
index 07e387b92e..d793480344 100644
--- a/libavfilter/tests/filtfmts.c
+++ b/libavfilter/tests/filtfmts.c
@@ -43,7 +43,7 @@ static void print_formats_internal(AVFilterLink **links, const AVFilterPad *pads
if (link->type == AVMEDIA_TYPE_VIDEO) {
const AVFilterFormats *const fmts = cfg->formats;
- for (unsigned j = 0; j < fmts->nb_formats; j++) {
+ for (unsigned j = 0; fmts && j < fmts->nb_formats; j++) {
printf("%s[%u] %s: fmt:%s\n",
inout_string, i, pad_name,
av_get_pix_fmt_name(fmts->formats[j]));
@@ -52,12 +52,12 @@ static void print_formats_internal(AVFilterLink **links, const AVFilterPad *pads
const AVFilterFormats *const fmts = cfg->formats;
const AVFilterChannelLayouts *const layouts = cfg->channel_layouts;
- for (unsigned j = 0; j < fmts->nb_formats; j++)
+ for (unsigned j = 0; fmts && j < fmts->nb_formats; j++)
printf("%s[%u] %s: fmt:%s\n",
inout_string, i, pad_name,
av_get_sample_fmt_name(fmts->formats[j]));
- for (unsigned j = 0; j < layouts->nb_channel_layouts; j++) {
+ for (unsigned j = 0; layouts && j < layouts->nb_channel_layouts; j++) {
char buf[256];
av_get_channel_layout_string(buf, sizeof(buf), -1,
layouts->channel_layouts[j]);
More information about the ffmpeg-cvslog
mailing list