Line data Source code
1 : /*
2 : * Copyright (c) 2016 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 :
11 : #ifndef WEBRTC_MODULES_AUDIO_MIXER_DEFAULT_OUTPUT_RATE_CALCULATOR_H_
12 : #define WEBRTC_MODULES_AUDIO_MIXER_DEFAULT_OUTPUT_RATE_CALCULATOR_H_
13 :
14 : #include <vector>
15 :
16 : #include "webrtc/modules/audio_mixer/output_rate_calculator.h"
17 :
18 : namespace webrtc {
19 :
20 0 : class DefaultOutputRateCalculator : public OutputRateCalculator {
21 : public:
22 : static const int kDefaultFrequency = 48000;
23 :
24 : // Produces the least native rate greater or equal to the preferred
25 : // sample rates. A native rate is one in
26 : // AudioProcessing::NativeRate. If |preferred_sample_rates| is
27 : // empty, returns |kDefaultFrequency|.
28 : int CalculateOutputRate(
29 : const std::vector<int>& preferred_sample_rates) override;
30 0 : ~DefaultOutputRateCalculator() override {}
31 : };
32 :
33 : } // namespace webrtc
34 :
35 : #endif // WEBRTC_MODULES_AUDIO_MIXER_DEFAULT_OUTPUT_RATE_CALCULATOR_H_
|