mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-05-03 06:52:05 +00:00
always generate frames on sleep
This commit is contained in:
parent
ed29a31462
commit
e25a90a04b
@ -138,7 +138,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session,
|
|||||||
unsigned char *abuf = NULL;
|
unsigned char *abuf = NULL;
|
||||||
switch_codec_implementation_t imp = { 0 };
|
switch_codec_implementation_t imp = { 0 };
|
||||||
switch_codec_t codec = { 0 };
|
switch_codec_t codec = { 0 };
|
||||||
int sval = 0;
|
int sval = -1;
|
||||||
const char *var;
|
const char *var;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -192,6 +192,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session,
|
|||||||
|
|
||||||
write_frame.codec = &codec;
|
write_frame.codec = &codec;
|
||||||
switch_zmalloc(abuf, SWITCH_RECOMMENDED_BUFFER_SIZE);
|
switch_zmalloc(abuf, SWITCH_RECOMMENDED_BUFFER_SIZE);
|
||||||
|
memset(abuf, 255, SWITCH_RECOMMENDED_BUFFER_SIZE);
|
||||||
write_frame.data = abuf;
|
write_frame.data = abuf;
|
||||||
write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
|
write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
|
||||||
write_frame.datalen = imp.decoded_bytes_per_packet;
|
write_frame.datalen = imp.decoded_bytes_per_packet;
|
||||||
@ -294,7 +295,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_sleep(switch_core_session_t *session,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (sval && write_frame.datalen) {
|
if (sval && write_frame.datalen) {
|
||||||
switch_generate_sln_silence((int16_t *) write_frame.data, write_frame.samples, sval);
|
if (sval > 0) {
|
||||||
|
switch_generate_sln_silence((int16_t *) write_frame.data, write_frame.samples, sval);
|
||||||
|
}
|
||||||
switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
|
switch_core_session_write_frame(session, &write_frame, SWITCH_IO_FLAG_NONE, 0);
|
||||||
} else {
|
} else {
|
||||||
switch_core_session_write_frame(session, &cng_frame, SWITCH_IO_FLAG_NONE, 0);
|
switch_core_session_write_frame(session, &cng_frame, SWITCH_IO_FLAG_NONE, 0);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user