#define AVRESAMPLE_RESAMPLE_H
#include "avresample.h"
+#include "internal.h"
#include "audio_data.h"
-typedef struct ResampleContext ResampleContext;
+struct ResampleContext {
+ AVAudioResampleContext *avr;
+ AudioData *buffer;
+ uint8_t *filter_bank;
+ int filter_length;
+ int ideal_dst_incr;
+ int dst_incr;
+ unsigned int index;
+ int frac;
+ int src_incr;
+ int compensation_distance;
+ int phase_shift;
+ int phase_mask;
+ int linear;
+ enum AVResampleFilterType filter_type;
+ int kaiser_beta;
+ void (*set_filter)(void *filter, double *tab, int phase, int tap_count);
+ void (*resample_one)(struct ResampleContext *c, void *dst0,
+ int dst_index, const void *src0,
+ unsigned int index, int frac);
+ void (*resample_nearest)(void *dst0, int dst_index,
+ const void *src0, unsigned int index);
+ int padding_size;
+ int initial_padding_filled;
+ int initial_padding_samples;
+ int final_padding_filled;
+ int final_padding_samples;
+};
/**
* Allocate and initialize a ResampleContext.
* @param c ResampleContext
* @param dst destination audio data
* @param src source audio data
- * @param consumed number of samples consumed from the source
* @return 0 on success, negative AVERROR code on failure
*/
-int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src,
- int *consumed);
+int ff_audio_resample(ResampleContext *c, AudioData *dst, AudioData *src);
#endif /* AVRESAMPLE_RESAMPLE_H */