Showing the changes to libavfilter (1 of 1 file). Show all
Unified · Split
| @@ -730,35 +730,26 @@ static int activate(AVFilterContext *ctx) · 729 unmodified lines | ||
| 730 | 730 | static int query_formats(AVFilterContext *ctx) |
| 731 | 731 | { |
| 732 | 732 | LoudNormContext *s = ctx->priv; |
| 733 | − AVFilterFormats *formats; | |
| 734 | − AVFilterLink *inlink = ctx->inputs[0]; | |
| 735 | − AVFilterLink *outlink = ctx->outputs[0]; | |
| 733 | + AVFilterFormats *formats = NULL; | |
| 736 | 734 | static const int input_srate[] = {192000, -1}; |
| 737 | − static const enum AVSampleFormat sample_fmts[] = { | |
| 738 | − AV_SAMPLE_FMT_DBL, | |
| 739 | − AV_SAMPLE_FMT_NONE | |
| 740 | − }; | |
| 741 | 735 | int ret = ff_set_common_all_channel_counts(ctx); |
| 742 | 736 | if (ret < 0) |
| 743 | 737 | return ret; |
| 744 | 738 | |
| 745 | − ret = ff_set_common_formats_from_list(ctx, sample_fmts); | |
| 746 | − if (ret < 0) | |
| 739 | + ret = ff_add_format(&formats, AV_SAMPLE_FMT_DBL); | |
| 740 | + if (ret) | |
| 741 | + return ret; | |
| 742 | + ret = ff_set_common_formats(ctx, formats); | |
| 743 | + if (ret) | |
| 747 | 744 | return ret; |
| 748 | 745 | |
| 749 | 746 | if (s->frame_type != LINEAR_MODE) { |
| 750 | 747 | formats = ff_make_format_list(input_srate); |
| 751 | − if (!formats) | |
| 752 | − return AVERROR(ENOMEM); | |
| 753 | − ret = ff_formats_ref(formats, &inlink->outcfg.samplerates); | |
| 754 | − if (ret < 0) | |
| 755 | − return ret; | |
| 756 | − ret = ff_formats_ref(formats, &outlink->incfg.samplerates); | |
| 757 | − if (ret < 0) | |
| 758 | − return ret; | |
| 748 | + } else { | |
| 749 | + formats = ff_all_samplerates(); | |
| 759 | 750 | } |
| 760 | 751 | |
| 761 | − return 0; | |
| 752 | + return ff_set_common_samplerates(ctx, formats); | |
| 762 | 753 | } |
| 763 | 754 | |
| 764 | 755 | static int config_input(AVFilterLink *inlink) |