diff --git a/mod_custom_tts/custom_glue.cpp b/mod_custom_tts/custom_glue.cpp index ab5948c..43a0fbb 100644 --- a/mod_custom_tts/custom_glue.cpp +++ b/mod_custom_tts/custom_glue.cpp @@ -64,6 +64,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("CUSTOM_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -76,7 +97,7 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); return easy ; } diff --git a/mod_deepgram_tts/deepgram_glue.cpp b/mod_deepgram_tts/deepgram_glue.cpp index ab8a447..a58f2a1 100644 --- a/mod_deepgram_tts/deepgram_glue.cpp +++ b/mod_deepgram_tts/deepgram_glue.cpp @@ -65,6 +65,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("DEEPGRAM_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -77,7 +98,7 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); return easy ; } diff --git a/mod_elevenlabs_tts/elevenlabs_glue.cpp b/mod_elevenlabs_tts/elevenlabs_glue.cpp index 4e0322d..965e62f 100644 --- a/mod_elevenlabs_tts/elevenlabs_glue.cpp +++ b/mod_elevenlabs_tts/elevenlabs_glue.cpp @@ -168,6 +168,27 @@ int multi_timer_cb(CURLM *multi, long timeout_ms, GlobalInfo_t *g) { return 0; } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("ELEVENLABS_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -180,7 +201,7 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); return easy ; } diff --git a/mod_playht_tts/playht_glue.cpp b/mod_playht_tts/playht_glue.cpp index 32ef79e..283024a 100644 --- a/mod_playht_tts/playht_glue.cpp +++ b/mod_playht_tts/playht_glue.cpp @@ -64,6 +64,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("PLAYHT_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 20L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -77,9 +98,9 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); //For long text, PlayHT took more than 20 seconds to complete the download. - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 60L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); - return easy ; + return easy ; } static void cleanupConn(ConnInfo_t *conn) { diff --git a/mod_rimelabs_tts/rimelabs_glue.cpp b/mod_rimelabs_tts/rimelabs_glue.cpp index 30e77d8..3043666 100644 --- a/mod_rimelabs_tts/rimelabs_glue.cpp +++ b/mod_rimelabs_tts/rimelabs_glue.cpp @@ -66,6 +66,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("RIMELABS_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -78,7 +99,7 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); return easy ; } diff --git a/mod_verbio_tts/verbio_glue.cpp b/mod_verbio_tts/verbio_glue.cpp index d9a44bc..f561f44 100644 --- a/mod_verbio_tts/verbio_glue.cpp +++ b/mod_verbio_tts/verbio_glue.cpp @@ -65,6 +65,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("VERBIO_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -77,9 +98,9 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); - return easy ; + return easy ; } static void cleanupConn(ConnInfo_t *conn) { diff --git a/mod_whisper_tts/whisper_glue.cpp b/mod_whisper_tts/whisper_glue.cpp index f6ae054..3657dae 100644 --- a/mod_whisper_tts/whisper_glue.cpp +++ b/mod_whisper_tts/whisper_glue.cpp @@ -64,6 +64,27 @@ std::string secondsToMillisecondsString(double seconds) { return std::to_string(milliseconds_long); } +static std::string getEnvVar(const std::string& varName) { + const char* val = std::getenv(varName.c_str()); + return val ? std::string(val) : ""; +} + +static long getConnectionTimeout() { + std::string connectTimeoutStr = getEnvVar("WHISPER_TTS_CURL_CONNECT_TIMEOUT"); + + if (connectTimeoutStr.empty()) { + connectTimeoutStr = getEnvVar("TTS_CURL_CONNECT_TIMEOUT"); + } + + long connectTimeout = 10L; + + if (!connectTimeoutStr.empty()) { + connectTimeout = std::stol(connectTimeoutStr); + } + + return connectTimeout; +} + static CURL* createEasyHandle(void) { CURL* easy = curl_easy_init(); if(!easy) { @@ -76,7 +97,7 @@ static CURL* createEasyHandle(void) { // set connect timeout to 3 seconds and total timeout to 109 seconds curl_easy_setopt(easy, CURLOPT_CONNECTTIMEOUT_MS, 3000L); - curl_easy_setopt(easy, CURLOPT_TIMEOUT, 10L); + curl_easy_setopt(easy, CURLOPT_TIMEOUT, getConnectionTimeout()); return easy ; }