mirror of https://github.com/sipwise/rtpengine.git
Change-Id: Ib9b78f1200c0f4f5feae549f840059b9481d10b6rfuchs/1283
parent
9b296db449
commit
ddfce1fcdd
@ -0,0 +1,53 @@
|
||||
#include <libavutil/frame.h>
|
||||
#include <libavutil/opt.h>
|
||||
#include <assert.h>
|
||||
#include "resample.h"
|
||||
#include "codeclib.h"
|
||||
|
||||
void test_1(int in_samples, int in_format, int in_rate, int in_channels,
|
||||
int out_format, int out_rate, int out_channels,
|
||||
int out_exp_samples)
|
||||
{
|
||||
printf("testing %i %i %i %i %i %i %i %i\n", in_samples, in_format, in_rate, in_channels,
|
||||
out_format, out_rate, out_channels,
|
||||
out_exp_samples);
|
||||
|
||||
AVFrame *in_f = av_frame_alloc();
|
||||
in_f->nb_samples = in_samples;
|
||||
in_f->format = in_format;
|
||||
in_f->sample_rate = in_rate;
|
||||
in_f->channel_layout = av_get_default_channel_layout(in_channels);
|
||||
int ret = av_frame_get_buffer(in_f, 0);
|
||||
assert(ret == 0);
|
||||
memset(in_f->extended_data[0], 0, in_f->nb_samples * av_get_bytes_per_sample(in_f->format));
|
||||
|
||||
resample_t resampler;
|
||||
ZERO(resampler);
|
||||
format_t out_fmt = {
|
||||
.channels = out_channels,
|
||||
.clockrate = out_rate,
|
||||
.format = out_format,
|
||||
};
|
||||
AVFrame *out_f = resample_frame(&resampler, in_f, &out_fmt);
|
||||
assert(out_f != NULL);
|
||||
|
||||
printf("received samples %i\n", out_f->nb_samples);
|
||||
assert(out_f->nb_samples == out_exp_samples);
|
||||
|
||||
av_frame_free(&in_f);
|
||||
av_frame_free(&out_f);
|
||||
resample_shutdown(&resampler);
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
codeclib_init(0);
|
||||
|
||||
test_1(320, AV_SAMPLE_FMT_S16, 16000, 1, AV_SAMPLE_FMT_S16, 8000, 1, 144);
|
||||
test_1(160, AV_SAMPLE_FMT_S16, 8000, 1, AV_SAMPLE_FMT_S16, 16000, 1, 288);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int get_local_log_level(unsigned int u) {
|
||||
return 7;
|
||||
}
|
||||
Loading…
Reference in new issue