History

avfilter: handle error in query_formats() in bunch of filters

Paul B Mahol committed 11 years ago

Commit a0854c01 parent 21e034a81 files · +401 −234Browse files

Showing the changes to libavfilter/aeval.c (1 of 81 files). Show all

Unified · Split

libavfilter/aeval.c+20−4
@@ -247,12 +247,28 @@ static int query_formats(AVFilterContext *ctx) · 246 unmodified lines
247247 static const enum AVSampleFormat sample_fmts[] = { AV_SAMPLE_FMT_DBLP, AV_SAMPLE_FMT_NONE };
248248 int64_t chlayouts[] = { eval->chlayout ? eval->chlayout : FF_COUNT2LAYOUT(eval->nb_channels) , -1 };
249249 int sample_rates[] = { eval->sample_rate, -1 };
250+ AVFilterFormats *formats;
251+ AVFilterChannelLayouts *layouts;
252+ int ret;
253+
254+ formats = ff_make_format_list(sample_fmts);
255+ if (!formats)
256+ return AVERROR(ENOMEM);
257+ ret = ff_set_common_formats (ctx, formats);
258+ if (ret < 0)
259+ return ret;
250260
251− ff_set_common_formats (ctx, ff_make_format_list(sample_fmts));
252− ff_set_common_channel_layouts(ctx, avfilter_make_format64_list(chlayouts));
253− ff_set_common_samplerates(ctx, ff_make_format_list(sample_rates));
261+ layouts = avfilter_make_format64_list(chlayouts);
262+ if (!layouts)
263+ return AVERROR(ENOMEM);
264+ ret = ff_set_common_channel_layouts(ctx, layouts);
265+ if (ret < 0)
266+ return ret;
254267
255− return 0;
268+ formats = ff_make_format_list(sample_rates);
269+ if (!formats)
270+ return AVERROR(ENOMEM);
271+ return ff_set_common_samplerates(ctx, formats);
256272 }
257273
258274 static int request_frame(AVFilterLink *outlink)

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t