unsigned char *abuf = NULL;
switch_codec_implementation_t imp = { 0 };
switch_codec_t codec = { 0 };
- int sval = 0;
+ int sval = -1;
const char *var;
/*
write_frame.codec = &codec;
switch_zmalloc(abuf, SWITCH_RECOMMENDED_BUFFER_SIZE);
+ memset(abuf, 255, SWITCH_RECOMMENDED_BUFFER_SIZE);
write_frame.data = abuf;
write_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE;
write_frame.datalen = imp.decoded_bytes_per_packet;
}
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);
} else {
switch_core_session_write_frame(session, &cng_frame, SWITCH_IO_FLAG_NONE, 0);