From d0ebe3f99ffaba6b66c8f1b693a512bf9dd700ba Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Thu, 22 Feb 2024 07:58:41 -0500 Subject: [PATCH] fix possible undefined reference in precache audio (#662) * fix possible undefined reference in precache audio * fix parsing of JAMBONES_EAGERLY_PRE_CACHE_AUDIO --- lib/config.js | 2 +- lib/tasks/say.js | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/config.js b/lib/config.js index 44486d7c..a909a41c 100644 --- a/lib/config.js +++ b/lib/config.js @@ -130,7 +130,7 @@ const JAMBONZ_RECORD_WS_PASSWORD = process.env.JAMBONZ_RECORD_WS_PASSWORD || pro const JAMBONZ_DISABLE_DIAL_PAI_HEADER = process.env.JAMBONZ_DISABLE_DIAL_PAI_HEADER || false; const JAMBONES_DISABLE_DIRECT_P2P_CALL = process.env.JAMBONES_DISABLE_DIRECT_P2P_CALL || false; -const JAMBONES_EAGERLY_PRE_CACHE_AUDIO = process.env.JAMBONES_EAGERLY_PRE_CACHE_AUDIO; +const JAMBONES_EAGERLY_PRE_CACHE_AUDIO = parseInt(process.env.JAMBONES_EAGERLY_PRE_CACHE_AUDIO, 10) || 0; const JAMBONES_USE_FREESWITCH_TIMER_FD = process.env.JAMBONES_USE_FREESWITCH_TIMER_FD; diff --git a/lib/tasks/say.js b/lib/tasks/say.js index 85e5558f..8956229c 100644 --- a/lib/tasks/say.js +++ b/lib/tasks/say.js @@ -103,7 +103,7 @@ class TaskSay extends Task { voice = this.options.voice_id || voice; } - this.ep.set({ + ep.set({ tts_engine: vendor, tts_voice: voice, cache_speech_handles: 1, @@ -179,7 +179,7 @@ class TaskSay extends Task { } else { this.logger.debug('a streaming tts api will be used'); - const modifiedPath = filePath.replace('say:{', `say:{session-uuid=${this.ep.uuid},`); + const modifiedPath = filePath.replace('say:{', `say:{session-uuid=${ep.uuid},`); return modifiedPath; } return filePath; @@ -261,12 +261,12 @@ class TaskSay extends Task { } this.notifyStatus({event: 'start-playback'}); - while (!this.killed && (this.loop === 'forever' || this.loop--) && this.ep?.connected) { + while (!this.killed && (this.loop === 'forever' || this.loop--) && ep?.connected) { let segment = 0; while (!this.killed && segment < filepath.length) { if (cs.isInConference) { const {memberId, confName, confUuid} = cs; - await this.playToConfMember(this.ep, memberId, confName, confUuid, filepath[segment]); + await this.playToConfMember(ep, memberId, confName, confUuid, filepath[segment]); } else { if (filepath[segment].startsWith('say:{')) { @@ -274,7 +274,7 @@ class TaskSay extends Task { if (arr) this.logger.debug(`Say:exec sending streaming tts request: ${arr[1].substring(0, 64)}..`); } else this.logger.debug(`Say:exec sending ${filepath[segment].substring(0, 64)}`); - this.ep.once('playback-start', (evt) => { + ep.once('playback-start', (evt) => { this.logger.debug({evt}, 'got playback-start'); if (this.otelSpan) { this.logger.debug({evt}, 'got playback-start'); @@ -284,7 +284,7 @@ class TaskSay extends Task { if (evt.variable_tts_cache_filename) cs.trackTmpFile(evt.variable_tts_cache_filename); } }); - this.ep.once('playback-stop', (evt) => { + ep.once('playback-stop', (evt) => { this.logger.debug({evt}, 'got playback-stop'); if (evt.variable_tts_error) { writeAlerts({ @@ -321,7 +321,7 @@ class TaskSay extends Task { async kill(cs) { super.kill(cs); - if (this.ep.connected) { + if (this.ep?.connected) { this.logger.debug('TaskSay:kill - killing audio'); if (cs.isInConference) { const {memberId, confName} = cs;