X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavfilter%2Faf_aresample.c;h=e54bd3eb4174e21e7a43197bc5aa089aa1e5efc1;hb=e625ae609206e0550ff733965c6f5447579320aa;hp=ef10621c359ccab2ffab6c299920676488258781;hpb=4dc1f06f0c84ebbd8b26cd77679450903244a3e8;p=ffmpeg diff --git a/libavfilter/af_aresample.c b/libavfilter/af_aresample.c index ef10621c359..e54bd3eb417 100644 --- a/libavfilter/af_aresample.c +++ b/libavfilter/af_aresample.c @@ -95,15 +95,15 @@ static int query_formats(AVFilterContext *ctx) av_opt_get_int(aresample->swr, "ocl", 0, &out_layout); in_formats = ff_all_formats(AVMEDIA_TYPE_AUDIO); - if ((ret = ff_formats_ref(in_formats, &inlink->out_formats)) < 0) + if ((ret = ff_formats_ref(in_formats, &inlink->outcfg.formats)) < 0) return ret; in_samplerates = ff_all_samplerates(); - if ((ret = ff_formats_ref(in_samplerates, &inlink->out_samplerates)) < 0) + if ((ret = ff_formats_ref(in_samplerates, &inlink->outcfg.samplerates)) < 0) return ret; in_layouts = ff_all_channel_counts(); - if ((ret = ff_channel_layouts_ref(in_layouts, &inlink->out_channel_layouts)) < 0) + if ((ret = ff_channel_layouts_ref(in_layouts, &inlink->outcfg.channel_layouts)) < 0) return ret; if(out_rate > 0) { @@ -113,7 +113,7 @@ static int query_formats(AVFilterContext *ctx) out_samplerates = ff_all_samplerates(); } - if ((ret = ff_formats_ref(out_samplerates, &outlink->in_samplerates)) < 0) + if ((ret = ff_formats_ref(out_samplerates, &outlink->incfg.samplerates)) < 0) return ret; if(out_format != AV_SAMPLE_FMT_NONE) { @@ -121,16 +121,16 @@ static int query_formats(AVFilterContext *ctx) out_formats = ff_make_format_list(formatlist); } else out_formats = ff_all_formats(AVMEDIA_TYPE_AUDIO); - if ((ret = ff_formats_ref(out_formats, &outlink->in_formats)) < 0) + if ((ret = ff_formats_ref(out_formats, &outlink->incfg.formats)) < 0) return ret; if(out_layout) { int64_t layout_list[] = { out_layout, -1 }; - out_layouts = avfilter_make_format64_list(layout_list); + out_layouts = ff_make_format64_list(layout_list); } else out_layouts = ff_all_channel_counts(); - return ff_channel_layouts_ref(out_layouts, &outlink->in_channel_layouts); + return ff_channel_layouts_ref(out_layouts, &outlink->incfg.channel_layouts); } @@ -293,10 +293,19 @@ static int request_frame(AVFilterLink *outlink) return ret; } +#if FF_API_CHILD_CLASS_NEXT static const AVClass *resample_child_class_next(const AVClass *prev) { return prev ? NULL : swr_get_class(); } +#endif + +static const AVClass *resample_child_class_iterate(void **iter) +{ + const AVClass *c = *iter ? NULL : swr_get_class(); + *iter = (void*)(uintptr_t)c; + return c; +} static void *resample_child_next(void *obj, void *prev) { @@ -317,7 +326,10 @@ static const AVClass aresample_class = { .item_name = av_default_item_name, .option = options, .version = LIBAVUTIL_VERSION_INT, +#if FF_API_CHILD_CLASS_NEXT .child_class_next = resample_child_class_next, +#endif + .child_class_iterate = resample_child_class_iterate, .child_next = resample_child_next, };