blob: 96ba93a7622995ce9aca315bf5aaad93494bd6e1 [file] [log] [blame]
turaj@webrtc.org7959e162013-09-12 18:30:26 +00001/*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020011#ifndef MODULES_AUDIO_CODING_ACM2_ACM_RESAMPLER_H_
12#define MODULES_AUDIO_CODING_ACM2_ACM_RESAMPLER_H_
turaj@webrtc.org7959e162013-09-12 18:30:26 +000013
Yves Gerey988cc082018-10-23 12:03:01 +020014#include <stddef.h>
15#include <stdint.h>
16
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020017#include "common_audio/resampler/include/push_resampler.h"
turaj@webrtc.org7959e162013-09-12 18:30:26 +000018
19namespace webrtc {
turaj@webrtc.org6d5d2482013-10-06 04:47:28 +000020namespace acm2 {
21
turaj@webrtc.org7959e162013-09-12 18:30:26 +000022class ACMResampler {
23 public:
24 ACMResampler();
25 ~ACMResampler();
26
27 int Resample10Msec(const int16_t* in_audio,
28 int in_freq_hz,
29 int out_freq_hz,
Peter Kasting69558702016-01-12 16:26:35 -080030 size_t num_audio_channels,
Peter Kastingdce40cf2015-08-24 14:52:23 -070031 size_t out_capacity_samples,
turaj@webrtc.org7959e162013-09-12 18:30:26 +000032 int16_t* out_audio);
33
34 private:
andrew@webrtc.orgf5a33f12014-04-19 00:32:07 +000035 PushResampler<int16_t> resampler_;
turaj@webrtc.org7959e162013-09-12 18:30:26 +000036};
37
turaj@webrtc.org6d5d2482013-10-06 04:47:28 +000038} // namespace acm2
turaj@webrtc.org7959e162013-09-12 18:30:26 +000039} // namespace webrtc
40
Mirko Bonadei92ea95e2017-09-15 06:47:31 +020041#endif // MODULES_AUDIO_CODING_ACM2_ACM_RESAMPLER_H_