diff --git a/libavfilter/avfiltergraph.c b/libavfilter/avfiltergraph.c index f12491ea18..9178939f77 100644 --- a/libavfilter/avfiltergraph.c +++ b/libavfilter/avfiltergraph.c @@ -562,6 +562,20 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) filter_query_formats(convert); inlink = convert->inputs[0]; outlink = convert->outputs[0]; + av_assert0( inlink-> in_formats->refcount > 0); + av_assert0( inlink->out_formats->refcount > 0); + av_assert0(outlink-> in_formats->refcount > 0); + av_assert0(outlink->out_formats->refcount > 0); + if (outlink->type == AVMEDIA_TYPE_AUDIO) { + av_assert0( inlink-> in_samplerates->refcount > 0); + av_assert0( inlink->out_samplerates->refcount > 0); + av_assert0(outlink-> in_samplerates->refcount > 0); + av_assert0(outlink->out_samplerates->refcount > 0); + av_assert0( inlink-> in_channel_layouts->refcount > 0); + av_assert0( inlink->out_channel_layouts->refcount > 0); + av_assert0(outlink-> in_channel_layouts->refcount > 0); + av_assert0(outlink->out_channel_layouts->refcount > 0); + } if (!ff_merge_formats( inlink->in_formats, inlink->out_formats, inlink->type) || !ff_merge_formats(outlink->in_formats, outlink->out_formats, outlink->type)) ret = AVERROR(ENOSYS);