From ecd6f6486cc11923ee6edffb2704f1372452723b Mon Sep 17 00:00:00 2001
From: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
Date: Thu, 4 Nov 2010 18:40:47 -0400
Subject: [PATCH] [#4367] Fix segfault in gensin

---
 sflphone-common/src/global.h        |  2 +-
 sflphone-common/src/managerimpl.cpp | 14 +++++++++-----
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/sflphone-common/src/global.h b/sflphone-common/src/global.h
index 1ba1be17aa..12f12afb05 100644
--- a/sflphone-common/src/global.h
+++ b/sflphone-common/src/global.h
@@ -89,7 +89,7 @@ static const SOUND_FORMAT INT32 = 0x8;
 #define RINGDIR          "ringtones"		/** Ringtones directory */
 #define CODECDIR         "codecs"		/** Codecs directory */
 
-#define SIZEBUF 				100000 /** About 12 sec of buffering at 8000 Hz*/
+#define SIZEBUF 		 400000 /** About 12 sec of buffering at 8000 Hz*/
 #define STATIC_BUFSIZE 	 5000
 
 #define ALSA_DFT_CARD_ID     0			/** Index of the default soundcard */
diff --git a/sflphone-common/src/managerimpl.cpp b/sflphone-common/src/managerimpl.cpp
index a92401e78b..9fc7e5a0bf 100644
--- a/sflphone-common/src/managerimpl.cpp
+++ b/sflphone-common/src/managerimpl.cpp
@@ -157,7 +157,11 @@ void ManagerImpl::init ()
         std::string country = preferences.getZoneToneChoice();
         _telephoneTone = new TelephoneTone (country, sampleRate);
 
-        _debugInit ("Manager: Loading DTMF key");
+        _debugInit ("Manager: Loading DTMF key (%d)", sampleRate);
+        // if(sampleRate > 44100)
+
+        sampleRate = 8000;
+
         _dtmfKey = new DTMF (sampleRate);
     }
 
@@ -3046,7 +3050,7 @@ void ManagerImpl::audioSamplingRateChanged (void)
     int type, samplerate, framesize, numCardIn, numCardOut, numCardRing;
     std::string alsaPlugin;
 
-    _debug ("Manager: Audio Sampling Rate");
+    _debug ("Manager: Audio sampling rate changed");
 
     if (!_audiodriver)
         return;
@@ -3056,7 +3060,7 @@ void ManagerImpl::audioSamplingRateChanged (void)
     samplerate = _mainBuffer.getInternalSamplingRate();
     framesize = audioPreference.getFramesize();
 
-    _debug ("Mnager: samplerate: %i, framesize %i", samplerate, framesize);
+    _debug ("Mnager: new samplerate: %i, new framesize %i", samplerate, framesize);
 
     alsaPlugin = audioPreference.getPlugin();
 
@@ -3064,7 +3068,7 @@ void ManagerImpl::audioSamplingRateChanged (void)
     numCardOut = audioPreference.getCardout();
     numCardRing = audioPreference.getCardring();
 
-    _debug ("Manager: Deleting current layer... ");
+    _debug ("Manager: Deleting current layer...");
 
     // ost::MutexLock lock (*getAudioLayerMutex());
     getAudioLayerMutex()->enter();
@@ -3116,7 +3120,7 @@ void ManagerImpl::audioSamplingRateChanged (void)
 
         delete _dtmfKey;
 
-        _debugInit ("Manager: Loading DTMF key");
+        _debugInit ("Manager: Loading DTMF key with sample rate %d", sampleRate);
         _dtmfKey = new DTMF (sampleRate);
     }
 
-- 
GitLab