This page is documenting a work in progress feature do not assume it is available on the mainline branch.

Rationale

AVResample is getting extended and some resamplers and mixers have additional parameters that can be user-tuned. In order to match AVScale an AVFrame-based API will be introduced.

API Design

The API extension includes

Additional options

The new avresample_open2() will match the similarly-named functions in AVCodec and AVFormat.

int avresample_open2(AVAudioResampleContext *avr, AVDictionary **opts);

AVFrame based API

The main focus had been to simplify the setup and make AVResample simpler to use.

int avresample_open_frame(AVAudioResampleContext *avr, AVFrame *out, AVFrame *in, AVDictionary **opts);

int avresample_convert_frame(AVAudioResampleContext *avr, AVFrame *out, AVFrame *in);

Architecture Design


CategoryBlueprint CategoryWIP