Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b53dae6e authored by Glenn Kasten's avatar Glenn Kasten
Browse files

ToneGenerator: support output sample rates beyond 65535 Hz

Changed type of ToneGenerator::WaveGenerator constructor parameter
samplingRate from unsigned short to uint32_t to permit output
sample rates such as 96000 Hz.

Bug: 33969539
Test: dialer tones work when output sink operates at 96000 Hz
Change-Id: I5551409c467a4fd98ea4d5c9703b120a526a443e
parent 0012417d
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1420,7 +1420,7 @@ bool ToneGenerator::prepareWave() {
            // Instantiate a wave generator if  ot already done for this frequency
            if (mWaveGens.indexOfKey(frequency) == NAME_NOT_FOUND) {
                ToneGenerator::WaveGenerator *lpWaveGen =
                        new ToneGenerator::WaveGenerator((unsigned short)mSamplingRate,
                        new ToneGenerator::WaveGenerator(mSamplingRate,
                                frequency,
                                TONEGEN_GAIN/lNumWaves);
                mWaveGens.add(frequency, lpWaveGen);
@@ -1544,7 +1544,7 @@ ToneGenerator::tone_type ToneGenerator::getToneForRegion(tone_type toneType) {
//        none
//
////////////////////////////////////////////////////////////////////////////////
ToneGenerator::WaveGenerator::WaveGenerator(unsigned short samplingRate,
ToneGenerator::WaveGenerator::WaveGenerator(uint32_t samplingRate,
        unsigned short frequency, float volume) {
    double d0;
    double F_div_Fs;  // frequency / samplingRate
+1 −1
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ private:
            WAVEGEN_STOP  // Stop wave on zero crossing
        };

        WaveGenerator(unsigned short samplingRate, unsigned short frequency,
        WaveGenerator(uint32_t samplingRate, unsigned short frequency,
                float volume);
        ~WaveGenerator();