OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 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 | 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 | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 20 matching lines...) Expand all Loading... |
31 virtual int Init(int fs, int event, int attenuation); | 31 virtual int Init(int fs, int event, int attenuation); |
32 virtual void Reset(); | 32 virtual void Reset(); |
33 virtual int Generate(size_t num_samples, AudioMultiVector* output); | 33 virtual int Generate(size_t num_samples, AudioMultiVector* output); |
34 virtual bool initialized() const; | 34 virtual bool initialized() const; |
35 | 35 |
36 private: | 36 private: |
37 static const int kCoeff1[4][16]; // 1st oscillator model coefficient table. | 37 static const int kCoeff1[4][16]; // 1st oscillator model coefficient table. |
38 static const int kCoeff2[4][16]; // 2nd oscillator model coefficient table. | 38 static const int kCoeff2[4][16]; // 2nd oscillator model coefficient table. |
39 static const int kInitValue1[4][16]; // Initialization for 1st oscillator. | 39 static const int kInitValue1[4][16]; // Initialization for 1st oscillator. |
40 static const int kInitValue2[4][16]; // Initialization for 2nd oscillator. | 40 static const int kInitValue2[4][16]; // Initialization for 2nd oscillator. |
41 static const int kAmplitude[37]; // Amplitude for 0 through -36 dBm0. | 41 static const int kAmplitude[64]; // Amplitude for 0 through -63 dBm0. |
42 static const int16_t kAmpMultiplier = 23171; // 3 dB attenuation (in Q15). | 42 static const int16_t kAmpMultiplier = 23171; // 3 dB attenuation (in Q15). |
43 | 43 |
44 bool initialized_; // True if generator is initialized properly. | 44 bool initialized_; // True if generator is initialized properly. |
45 int coeff1_; // 1st oscillator coefficient for this event. | 45 int coeff1_; // 1st oscillator coefficient for this event. |
46 int coeff2_; // 2nd oscillator coefficient for this event. | 46 int coeff2_; // 2nd oscillator coefficient for this event. |
47 int amplitude_; // Amplitude for this event. | 47 int amplitude_; // Amplitude for this event. |
48 int16_t sample_history1_[2]; // Last 2 samples for the 1st oscillator. | 48 int16_t sample_history1_[2]; // Last 2 samples for the 1st oscillator. |
49 int16_t sample_history2_[2]; // Last 2 samples for the 2nd oscillator. | 49 int16_t sample_history2_[2]; // Last 2 samples for the 2nd oscillator. |
50 | 50 |
51 RTC_DISALLOW_COPY_AND_ASSIGN(DtmfToneGenerator); | 51 RTC_DISALLOW_COPY_AND_ASSIGN(DtmfToneGenerator); |
52 }; | 52 }; |
53 | 53 |
54 } // namespace webrtc | 54 } // namespace webrtc |
55 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_DTMF_TONE_GENERATOR_H_ | 55 #endif // WEBRTC_MODULES_AUDIO_CODING_NETEQ_DTMF_TONE_GENERATOR_H_ |
OLD | NEW |