From: Andreas Eversberg Date: Sat, 28 Jul 2012 09:15:30 +0000 (+0200) Subject: Add global variable for Law encoded silence X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=commitdiff_plain;h=ec40766edc4b55496be56d3123b266900e15dc29 Add global variable for Law encoded silence --- diff --git a/alawulaw.c b/alawulaw.c index 72fee4b..cafe1af 100644 --- a/alawulaw.c +++ b/alawulaw.c @@ -10,6 +10,7 @@ \*****************************************************************************/ signed int *audio_law_to_s32; +unsigned char silence; /* ulaw -> signed 16-bit */ static signed int audio_ulaw_to_s32[] = @@ -229,6 +230,7 @@ void generate_tables(char law) int i, j; if (law == 'a') { + silence = 0x2a; audio_law_to_s32=audio_alaw_to_s32; /* generating alaw-table */ i = j = 0; @@ -242,6 +244,7 @@ void generate_tables(char law) i++; } } else { + silence = 0xff; audio_law_to_s32=audio_ulaw_to_s32; /* generating ulaw-table */ i = j = 0; diff --git a/alawulaw.h b/alawulaw.h index a112361..970839e 100644 --- a/alawulaw.h +++ b/alawulaw.h @@ -9,6 +9,7 @@ ** ** \*****************************************************************************/ extern signed int *audio_law_to_s32; +extern unsigned char silence; extern unsigned char audio_s16_to_law[65536]; extern short audio_alaw_relations[]; void generate_tables(char law); diff --git a/mISDN.cpp b/mISDN.cpp index 39ccc35..585ae82 100644 --- a/mISDN.cpp +++ b/mISDN.cpp @@ -2169,7 +2169,7 @@ int PmISDN::bridge_rx(unsigned char *data, int length) if (p_m_load == 0 && ISDN_LOAD > 0) { hh->prim = PH_DATA_REQ; hh->id = 0; - memset(buf+MISDN_HEADER_LEN, (options.law=='a')?0x2a:0xff, ISDN_LOAD); + memset(buf+MISDN_HEADER_LEN, silence, ISDN_LOAD); ret = sendto(p_m_mISDNport->b_sock[p_m_b_index].fd, buf, MISDN_HEADER_LEN+ISDN_LOAD, 0, NULL, 0); if (ret <= 0) PERROR("Failed to send to socket %d\n", p_m_mISDNport->b_sock[p_m_b_index].fd);