mirror of
https://github.com/jambonz/jambonz-feature-server.git
synced 2025-12-20 16:50:39 +00:00
fix possible undefined reference in precache audio (#662)
* fix possible undefined reference in precache audio * fix parsing of JAMBONES_EAGERLY_PRE_CACHE_AUDIO
This commit is contained in:
@@ -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 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_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;
|
const JAMBONES_USE_FREESWITCH_TIMER_FD = process.env.JAMBONES_USE_FREESWITCH_TIMER_FD;
|
||||||
|
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ class TaskSay extends Task {
|
|||||||
voice = this.options.voice_id || voice;
|
voice = this.options.voice_id || voice;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.ep.set({
|
ep.set({
|
||||||
tts_engine: vendor,
|
tts_engine: vendor,
|
||||||
tts_voice: voice,
|
tts_voice: voice,
|
||||||
cache_speech_handles: 1,
|
cache_speech_handles: 1,
|
||||||
@@ -179,7 +179,7 @@ class TaskSay extends Task {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.logger.debug('a streaming tts api will be used');
|
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 modifiedPath;
|
||||||
}
|
}
|
||||||
return filePath;
|
return filePath;
|
||||||
@@ -261,12 +261,12 @@ class TaskSay extends Task {
|
|||||||
}
|
}
|
||||||
this.notifyStatus({event: 'start-playback'});
|
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;
|
let segment = 0;
|
||||||
while (!this.killed && segment < filepath.length) {
|
while (!this.killed && segment < filepath.length) {
|
||||||
if (cs.isInConference) {
|
if (cs.isInConference) {
|
||||||
const {memberId, confName, confUuid} = cs;
|
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 {
|
else {
|
||||||
if (filepath[segment].startsWith('say:{')) {
|
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)}..`);
|
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)}`);
|
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');
|
this.logger.debug({evt}, 'got playback-start');
|
||||||
if (this.otelSpan) {
|
if (this.otelSpan) {
|
||||||
this.logger.debug({evt}, 'got playback-start');
|
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);
|
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');
|
this.logger.debug({evt}, 'got playback-stop');
|
||||||
if (evt.variable_tts_error) {
|
if (evt.variable_tts_error) {
|
||||||
writeAlerts({
|
writeAlerts({
|
||||||
@@ -321,7 +321,7 @@ class TaskSay extends Task {
|
|||||||
|
|
||||||
async kill(cs) {
|
async kill(cs) {
|
||||||
super.kill(cs);
|
super.kill(cs);
|
||||||
if (this.ep.connected) {
|
if (this.ep?.connected) {
|
||||||
this.logger.debug('TaskSay:kill - killing audio');
|
this.logger.debug('TaskSay:kill - killing audio');
|
||||||
if (cs.isInConference) {
|
if (cs.isInConference) {
|
||||||
const {memberId, confName} = cs;
|
const {memberId, confName} = cs;
|
||||||
|
|||||||
Reference in New Issue
Block a user