]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
vs2010 reswig and fix mod_rss for recent stereo changes
authorJeff Lenk <jeff@jefflenk.com>
Fri, 13 Jun 2014 03:48:21 +0000 (22:48 -0500)
committerJeff Lenk <jeff@jefflenk.com>
Fri, 13 Jun 2014 03:48:21 +0000 (22:48 -0500)
src/mod/applications/mod_rss/mod_rss.c
src/mod/languages/mod_managed/freeswitch_wrap.2010.cxx
src/mod/languages/mod_managed/managed/swig.2010.cs

index adb5cd4fd7a1579c472676f33e741b713b176b3c..c17e0a53aa8a4d3dd91afe6e610f9d20447e364b 100644 (file)
@@ -185,7 +185,7 @@ SWITCH_STANDARD_APP(rss_function)
        const char *vcf = NULL;
        char *chanvars = switch_channel_build_param_string(channel, NULL, NULL);
        switch_codec_implementation_t read_impl = { 0 };
-       uint32_t rate, interval;
+       uint32_t rate, interval, channels;
        switch_core_session_get_read_impl(session, &read_impl);
        interval = read_impl.microseconds_per_packet / 1000;
 
@@ -257,13 +257,14 @@ SWITCH_STANDARD_APP(rss_function)
 
        if (switch_channel_media_ready(channel)) {
                rate = read_impl.actual_samples_per_second;
+               channels = read_impl.number_of_channels;
        } else {
                switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Codec Error!\n");
                return;
        }
 
        memset(&sh, 0, sizeof(sh));
-       if (switch_core_speech_open(&sh, engine, voice, rate, interval, &flags, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
+       if (switch_core_speech_open(&sh, engine, voice, rate, interval, channels, &flags, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) {
                switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Invalid TTS module!\n");
                return;
        }
index 91dbe0900d40cabdb4bcab7b6bf4ffb150882314..02cdabd75bf06ea414cfa7432be9a858c722c384 100644 (file)
@@ -8044,6 +8044,72 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_device_stats_t_held_out_get(v
 }\r
 \r
 \r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_device_stats_t_unheld_set(void * jarg1, unsigned long jarg2) {\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->unheld = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_device_stats_t_unheld_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  result = (uint32_t) ((arg1)->unheld);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_device_stats_t_unheld_in_set(void * jarg1, unsigned long jarg2) {\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->unheld_in = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_device_stats_t_unheld_in_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  result = (uint32_t) ((arg1)->unheld_in);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_device_stats_t_unheld_out_set(void * jarg1, unsigned long jarg2) {\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->unheld_out = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_device_stats_t_unheld_out_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_device_stats_t *)jarg1; \r
+  result = (uint32_t) ((arg1)->unheld_out);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_device_stats_t_hup_set(void * jarg1, unsigned long jarg2) {\r
   switch_device_stats_t *arg1 = (switch_device_stats_t *) 0 ;\r
   uint32_t arg2 ;\r
@@ -11936,17 +12002,19 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_destroy(void * jarg1) {
 }\r
 \r
 \r
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert(void * jarg1, char * jarg2, void * jarg3) {\r
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_hash_insert_destructor(void * jarg1, char * jarg2, void * jarg3, void * jarg4) {\r
   int jresult ;\r
   switch_hash_t *arg1 = (switch_hash_t *) 0 ;\r
   char *arg2 = (char *) 0 ;\r
   void *arg3 = (void *) 0 ;\r
+  hashtable_destructor_t arg4 = (hashtable_destructor_t) 0 ;\r
   switch_status_t result;\r
   \r
   arg1 = (switch_hash_t *)jarg1; \r
   arg2 = (char *)jarg2; \r
   arg3 = (void *)jarg3; \r
-  result = (switch_status_t)switch_core_hash_insert(arg1,(char const *)arg2,(void const *)arg3);\r
+  arg4 = (hashtable_destructor_t)jarg4; \r
+  result = (switch_status_t)switch_core_hash_insert_destructor(arg1,(char const *)arg2,(void const *)arg3,arg4);\r
   jresult = result; \r
   return jresult;\r
 }\r
@@ -12849,15 +12917,16 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_file_truncate(void * jarg1, long l
 }\r
 \r
 \r
-SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, void * jarg6, void * jarg7) {\r
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * jarg2, char * jarg3, unsigned int jarg4, unsigned int jarg5, unsigned int jarg6, void * jarg7, void * jarg8) {\r
   int jresult ;\r
   switch_speech_handle_t *arg1 = (switch_speech_handle_t *) 0 ;\r
   char *arg2 = (char *) 0 ;\r
   char *arg3 = (char *) 0 ;\r
   unsigned int arg4 ;\r
   unsigned int arg5 ;\r
-  switch_speech_flag_t *arg6 = (switch_speech_flag_t *) 0 ;\r
-  switch_memory_pool_t *arg7 = (switch_memory_pool_t *) 0 ;\r
+  unsigned int arg6 ;\r
+  switch_speech_flag_t *arg7 = (switch_speech_flag_t *) 0 ;\r
+  switch_memory_pool_t *arg8 = (switch_memory_pool_t *) 0 ;\r
   switch_status_t result;\r
   \r
   arg1 = (switch_speech_handle_t *)jarg1; \r
@@ -12865,9 +12934,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_core_speech_open(void * jarg1, char * j
   arg3 = (char *)jarg3; \r
   arg4 = (unsigned int)jarg4; \r
   arg5 = (unsigned int)jarg5; \r
-  arg6 = (switch_speech_flag_t *)jarg6; \r
-  arg7 = (switch_memory_pool_t *)jarg7; \r
-  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7);\r
+  arg6 = (unsigned int)jarg6; \r
+  arg7 = (switch_speech_flag_t *)jarg7; \r
+  arg8 = (switch_memory_pool_t *)jarg8; \r
+  result = (switch_status_t)switch_core_speech_open(arg1,(char const *)arg2,(char const *)arg3,arg4,arg5,arg6,arg7,arg8);\r
   jresult = result; \r
   return jresult;\r
 }\r
@@ -22807,6 +22877,28 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_channels_get(void
 }\r
 \r
 \r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_real_channels_set(void * jarg1, unsigned long jarg2) {\r
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_file_handle *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->real_channels = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_file_handle_real_channels_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_file_handle *arg1 = (switch_file_handle *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_file_handle *)jarg1; \r
+  result = (uint32_t) ((arg1)->real_channels);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_file_handle_format_set(void * jarg1, unsigned int jarg2) {\r
   switch_file_handle *arg1 = (switch_file_handle *) 0 ;\r
   unsigned int arg2 ;\r
@@ -24662,10 +24754,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_switch_speech_interface_interface_name_get(
 \r
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_open_set(void * jarg1, void * jarg2) {\r
   switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;\r
-  switch_status_t (*arg2)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) 0 ;\r
+  switch_status_t (*arg2)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *) = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *)) 0 ;\r
   \r
   arg1 = (switch_speech_interface *)jarg1; \r
-  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *))jarg2; \r
+  arg2 = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *))jarg2; \r
   if (arg1) (arg1)->speech_open = arg2;\r
 }\r
 \r
@@ -24673,10 +24765,10 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_interface_speech_open_set(void
 SWIGEXPORT void * SWIGSTDCALL CSharp_switch_speech_interface_speech_open_get(void * jarg1) {\r
   void * jresult ;\r
   switch_speech_interface *arg1 = (switch_speech_interface *) 0 ;\r
-  switch_status_t (*result)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *) = 0 ;\r
+  switch_status_t (*result)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *) = 0 ;\r
   \r
   arg1 = (switch_speech_interface *)jarg1; \r
-  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,switch_speech_flag_t *)) ((arg1)->speech_open);\r
+  result = (switch_status_t (*)(switch_speech_handle_t *,char const *,int,int,switch_speech_flag_t *)) ((arg1)->speech_open);\r
   jresult = (void *)result; \r
   return jresult;\r
 }\r
@@ -25104,6 +25196,50 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_samples_get(voi
 }\r
 \r
 \r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_channels_set(void * jarg1, unsigned long jarg2) {\r
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_speech_handle *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->channels = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_channels_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_speech_handle *)jarg1; \r
+  result = (uint32_t) ((arg1)->channels);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_real_channels_set(void * jarg1, unsigned long jarg2) {\r
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;\r
+  uint32_t arg2 ;\r
+  \r
+  arg1 = (switch_speech_handle *)jarg1; \r
+  arg2 = (uint32_t)jarg2; \r
+  if (arg1) (arg1)->real_channels = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_speech_handle_real_channels_get(void * jarg1) {\r
+  unsigned long jresult ;\r
+  switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;\r
+  uint32_t result;\r
+  \r
+  arg1 = (switch_speech_handle *)jarg1; \r
+  result = (uint32_t) ((arg1)->real_channels);\r
+  jresult = (unsigned long)result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_speech_handle_voice_set(void * jarg1, char * jarg2) {\r
   switch_speech_handle *arg1 = (switch_speech_handle *) 0 ;\r
   char *arg2 ;\r
@@ -26720,6 +26856,28 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_fmtp_microseconds_per_packet_get(
 }\r
 \r
 \r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_stereo_set(void * jarg1, int jarg2) {\r
+  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;\r
+  int arg2 ;\r
+  \r
+  arg1 = (switch_codec_fmtp *)jarg1; \r
+  arg2 = (int)jarg2; \r
+  if (arg1) (arg1)->stereo = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_codec_fmtp_stereo_get(void * jarg1) {\r
+  int jresult ;\r
+  switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;\r
+  int result;\r
+  \r
+  arg1 = (switch_codec_fmtp *)jarg1; \r
+  result = (int) ((arg1)->stereo);\r
+  jresult = result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void SWIGSTDCALL CSharp_switch_codec_fmtp_private_info_set(void * jarg1, void * jarg2) {\r
   switch_codec_fmtp *arg1 = (switch_codec_fmtp *) 0 ;\r
   void *arg2 = (void *) 0 ;\r
@@ -33404,6 +33562,28 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_audio_resampler_t_to_size_get
 }\r
 \r
 \r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_audio_resampler_t_channels_set(void * jarg1, int jarg2) {\r
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;\r
+  int arg2 ;\r
+  \r
+  arg1 = (switch_audio_resampler_t *)jarg1; \r
+  arg2 = (int)jarg2; \r
+  if (arg1) (arg1)->channels = arg2;\r
+}\r
+\r
+\r
+SWIGEXPORT int SWIGSTDCALL CSharp_switch_audio_resampler_t_channels_get(void * jarg1) {\r
+  int jresult ;\r
+  switch_audio_resampler_t *arg1 = (switch_audio_resampler_t *) 0 ;\r
+  int result;\r
+  \r
+  arg1 = (switch_audio_resampler_t *)jarg1; \r
+  result = (int) ((arg1)->channels);\r
+  jresult = result; \r
+  return jresult;\r
+}\r
+\r
+\r
 SWIGEXPORT void * SWIGSTDCALL CSharp_new_switch_audio_resampler_t() {\r
   void * jresult ;\r
   switch_audio_resampler_t *result = 0 ;\r
@@ -33554,15 +33734,17 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_swap_linear(void * jarg1, int jarg2) {
 }\r
 \r
 \r
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_generate_sln_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3) {\r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_generate_sln_silence(void * jarg1, unsigned long jarg2, unsigned long jarg3, unsigned long jarg4) {\r
   int16_t *arg1 = (int16_t *) 0 ;\r
   uint32_t arg2 ;\r
   uint32_t arg3 ;\r
+  uint32_t arg4 ;\r
   \r
   arg1 = (int16_t *)jarg1; \r
   arg2 = (uint32_t)jarg2; \r
   arg3 = (uint32_t)jarg3; \r
-  switch_generate_sln_silence(arg1,arg2,arg3);\r
+  arg4 = (uint32_t)jarg4; \r
+  switch_generate_sln_silence(arg1,arg2,arg3,arg4);\r
 }\r
 \r
 \r
@@ -33626,10 +33808,11 @@ SWIGEXPORT unsigned long SWIGSTDCALL CSharp_switch_unmerge_sln(void * jarg1, uns
 }\r
 \r
 \r
-SWIGEXPORT void SWIGSTDCALL CSharp_switch_mux_channels(void * jarg1, void * jarg2, unsigned long jarg3) {\r
+SWIGEXPORT void SWIGSTDCALL CSharp_switch_mux_channels(void * jarg1, void * jarg2, unsigned long jarg3, unsigned long jarg4) {\r
   int16_t *arg1 = (int16_t *) 0 ;\r
   switch_size_t arg2 ;\r
   uint32_t arg3 ;\r
+  uint32_t arg4 ;\r
   switch_size_t *argp2 ;\r
   \r
   arg1 = (int16_t *)jarg1; \r
@@ -33640,7 +33823,8 @@ SWIGEXPORT void SWIGSTDCALL CSharp_switch_mux_channels(void * jarg1, void * jarg
   }\r
   arg2 = *argp2; \r
   arg3 = (uint32_t)jarg3; \r
-  switch_mux_channels(arg1,arg2,arg3);\r
+  arg4 = (uint32_t)jarg4; \r
+  switch_mux_channels(arg1,arg2,arg3,arg4);\r
 }\r
 \r
 \r
@@ -34408,7 +34592,7 @@ SWIGEXPORT int SWIGSTDCALL CSharp_switch_ivr_detect_speech_load_grammar(void * j
   arg1 = (switch_core_session_t *)jarg1; \r
   arg2 = (char *)jarg2; \r
   arg3 = (char *)jarg3; \r
-  result = (switch_status_t)switch_ivr_detect_speech_load_grammar(arg1,arg2,arg3);\r
+  result = (switch_status_t)switch_ivr_detect_speech_load_grammar(arg1,(char const *)arg2,(char const *)arg3);\r
   jresult = result; \r
   return jresult;\r
 }\r
index 8ae5f05b07f1f4b0548aa162b7d81f8b3d5d7e01..7fc9e3148aa83f2b27dce5a532064de32c6a0f90 100644 (file)
@@ -2078,8 +2078,8 @@ public class freeswitch {
     return ret;\r
   }\r
 \r
-  public static switch_status_t switch_core_hash_insert(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_void data) {\r
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data));\r
+  public static switch_status_t switch_core_hash_insert_destructor(SWIGTYPE_p_switch_hashtable hash, string key, SWIGTYPE_p_void data, SWIGTYPE_p_f_p_void__void destructor) {\r
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_hash_insert_destructor(SWIGTYPE_p_switch_hashtable.getCPtr(hash), key, SWIGTYPE_p_void.getCPtr(data), SWIGTYPE_p_f_p_void__void.getCPtr(destructor));\r
     return ret;\r
   }\r
 \r
@@ -2396,8 +2396,8 @@ public class freeswitch {
     return ret;\r
   }\r
 \r
-  public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {\r
-    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));\r
+  public static switch_status_t switch_core_speech_open(switch_speech_handle sh, string module_name, string voice_name, uint rate, uint interval, uint channels, SWIGTYPE_p_unsigned_long flags, SWIGTYPE_p_apr_pool_t pool) {\r
+    switch_status_t ret = (switch_status_t)freeswitchPINVOKE.switch_core_speech_open(switch_speech_handle.getCPtr(sh), module_name, voice_name, rate, interval, channels, SWIGTYPE_p_unsigned_long.getCPtr(flags), SWIGTYPE_p_apr_pool_t.getCPtr(pool));\r
     return ret;\r
   }\r
 \r
@@ -5268,8 +5268,8 @@ public class freeswitch {
     freeswitchPINVOKE.switch_swap_linear(SWIGTYPE_p_short.getCPtr(buf), len);\r
   }\r
 \r
-  public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint divisor) {\r
-    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, divisor);\r
+  public static void switch_generate_sln_silence(SWIGTYPE_p_short data, uint samples, uint channels, uint divisor) {\r
+    freeswitchPINVOKE.switch_generate_sln_silence(SWIGTYPE_p_short.getCPtr(data), samples, channels, divisor);\r
   }\r
 \r
   public static void switch_change_sln_volume(SWIGTYPE_p_short data, uint samples, int vol) {\r
@@ -5290,8 +5290,8 @@ public class freeswitch {
     return ret;\r
   }\r
 \r
-  public static void switch_mux_channels(SWIGTYPE_p_short data, SWIGTYPE_p_switch_size_t samples, uint channels) {\r
-    freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(samples), channels);\r
+  public static void switch_mux_channels(SWIGTYPE_p_short data, SWIGTYPE_p_switch_size_t samples, uint orig_channels, uint channels) {\r
+    freeswitchPINVOKE.switch_mux_channels(SWIGTYPE_p_short.getCPtr(data), SWIGTYPE_p_switch_size_t.getCPtr(samples), orig_channels, channels);\r
     if (freeswitchPINVOKE.SWIGPendingException.Pending) throw freeswitchPINVOKE.SWIGPendingException.Retrieve();\r
   }\r
 \r
@@ -9381,6 +9381,24 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_held_out_get")]\r
   public static extern uint switch_device_stats_t_held_out_get(HandleRef jarg1);\r
 \r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_set")]\r
+  public static extern void switch_device_stats_t_unheld_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_get")]\r
+  public static extern uint switch_device_stats_t_unheld_get(HandleRef jarg1);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_in_set")]\r
+  public static extern void switch_device_stats_t_unheld_in_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_in_get")]\r
+  public static extern uint switch_device_stats_t_unheld_in_get(HandleRef jarg1);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_out_set")]\r
+  public static extern void switch_device_stats_t_unheld_out_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_unheld_out_get")]\r
+  public static extern uint switch_device_stats_t_unheld_out_get(HandleRef jarg1);\r
+\r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_device_stats_t_hup_set")]\r
   public static extern void switch_device_stats_t_hup_set(HandleRef jarg1, uint jarg2);\r
 \r
@@ -10293,8 +10311,8 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_destroy")]\r
   public static extern int switch_core_hash_destroy(HandleRef jarg1);\r
 \r
-  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert")]\r
-  public static extern int switch_core_hash_insert(HandleRef jarg1, string jarg2, HandleRef jarg3);\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_destructor")]\r
+  public static extern int switch_core_hash_insert_destructor(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_hash_insert_locked")]\r
   public static extern int switch_core_hash_insert_locked(HandleRef jarg1, string jarg2, HandleRef jarg3, HandleRef jarg4);\r
@@ -10483,7 +10501,7 @@ class freeswitchPINVOKE {
   public static extern int switch_core_file_truncate(HandleRef jarg1, long jarg2);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_open")]\r
-  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, HandleRef jarg6, HandleRef jarg7);\r
+  public static extern int switch_core_speech_open(HandleRef jarg1, string jarg2, string jarg3, uint jarg4, uint jarg5, uint jarg6, HandleRef jarg7, HandleRef jarg8);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_core_speech_feed_tts")]\r
   public static extern int switch_core_speech_feed_tts(HandleRef jarg1, string jarg2, HandleRef jarg3);\r
@@ -12873,6 +12891,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_channels_get")]\r
   public static extern uint switch_file_handle_channels_get(HandleRef jarg1);\r
 \r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_real_channels_set")]\r
+  public static extern void switch_file_handle_real_channels_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_real_channels_get")]\r
+  public static extern uint switch_file_handle_real_channels_get(HandleRef jarg1);\r
+\r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_file_handle_format_set")]\r
   public static extern void switch_file_handle_format_set(HandleRef jarg1, uint jarg2);\r
 \r
@@ -13467,6 +13491,18 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_samples_get")]\r
   public static extern uint switch_speech_handle_samples_get(HandleRef jarg1);\r
 \r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_channels_set")]\r
+  public static extern void switch_speech_handle_channels_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_channels_get")]\r
+  public static extern uint switch_speech_handle_channels_get(HandleRef jarg1);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_real_channels_set")]\r
+  public static extern void switch_speech_handle_real_channels_set(HandleRef jarg1, uint jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_real_channels_get")]\r
+  public static extern uint switch_speech_handle_real_channels_get(HandleRef jarg1);\r
+\r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_speech_handle_voice_set")]\r
   public static extern void switch_speech_handle_voice_set(HandleRef jarg1, string jarg2);\r
 \r
@@ -13899,6 +13935,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_microseconds_per_packet_get")]\r
   public static extern int switch_codec_fmtp_microseconds_per_packet_get(HandleRef jarg1);\r
 \r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_stereo_set")]\r
+  public static extern void switch_codec_fmtp_stereo_set(HandleRef jarg1, int jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_stereo_get")]\r
+  public static extern int switch_codec_fmtp_stereo_get(HandleRef jarg1);\r
+\r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_codec_fmtp_private_info_set")]\r
   public static extern void switch_codec_fmtp_private_info_set(HandleRef jarg1, HandleRef jarg2);\r
 \r
@@ -15489,6 +15531,12 @@ class freeswitchPINVOKE {
   [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_to_size_get")]\r
   public static extern uint switch_audio_resampler_t_to_size_get(HandleRef jarg1);\r
 \r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_channels_set")]\r
+  public static extern void switch_audio_resampler_t_channels_set(HandleRef jarg1, int jarg2);\r
+\r
+  [DllImport("mod_managed", EntryPoint="CSharp_switch_audio_resampler_t_channels_get")]\r
+  public static extern int switch_audio_resampler_t_channels_get(HandleRef jarg1);\r
+\r
   [DllImport("mod_managed", EntryPoint="CSharp_new_switch_audio_resampler_t")]\r
   public static extern IntPtr new_switch_audio_resampler_t();\r
 \r
@@ -15520,7 +15568,7 @@ class freeswitchPINVOKE {
   public static extern void switch_swap_linear(HandleRef jarg1, int jarg2);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_generate_sln_silence")]\r
-  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3);\r
+  public static extern void switch_generate_sln_silence(HandleRef jarg1, uint jarg2, uint jarg3, uint jarg4);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_change_sln_volume")]\r
   public static extern void switch_change_sln_volume(HandleRef jarg1, uint jarg2, int jarg3);\r
@@ -15535,7 +15583,7 @@ class freeswitchPINVOKE {
   public static extern uint switch_unmerge_sln(HandleRef jarg1, uint jarg2, HandleRef jarg3, uint jarg4);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_mux_channels")]\r
-  public static extern void switch_mux_channels(HandleRef jarg1, HandleRef jarg2, uint jarg3);\r
+  public static extern void switch_mux_channels(HandleRef jarg1, HandleRef jarg2, uint jarg3, uint jarg4);\r
 \r
   [DllImport("mod_managed", EntryPoint="CSharp_switch_unicast_conninfo_session_set")]\r
   public static extern void switch_unicast_conninfo_session_set(HandleRef jarg1, HandleRef jarg2);\r
@@ -21231,18 +21279,18 @@ namespace FreeSWITCH.Native {
 using System;\r
 using System.Runtime.InteropServices;\r
 \r
-public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t {\r
+public class SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t {\r
   private HandleRef swigCPtr;\r
 \r
-  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {\r
+  internal SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t(IntPtr cPtr, bool futureUse) {\r
     swigCPtr = new HandleRef(this, cPtr);\r
   }\r
 \r
-  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t() {\r
+  protected SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t() {\r
     swigCPtr = new HandleRef(null, IntPtr.Zero);\r
   }\r
 \r
-  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t obj) {\r
+  internal static HandleRef getCPtr(SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t obj) {\r
     return (obj == null) ? new HandleRef(null, IntPtr.Zero) : obj.swigCPtr;\r
   }\r
 }\r
@@ -25764,6 +25812,16 @@ public class switch_audio_resampler_t : IDisposable {
     } \r
   }\r
 \r
+  public int channels {\r
+    set {\r
+      freeswitchPINVOKE.switch_audio_resampler_t_channels_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      int ret = freeswitchPINVOKE.switch_audio_resampler_t_channels_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
   public switch_audio_resampler_t() : this(freeswitchPINVOKE.new_switch_audio_resampler_t(), true) {\r
   }\r
 \r
@@ -27232,7 +27290,7 @@ public enum switch_channel_callstate_t {
   CCS_HELD,\r
   CCS_RING_WAIT,\r
   CCS_HANGUP,\r
-  CCS_UNHOLD\r
+  CCS_UNHELD\r
 }\r
 \r
 }\r
@@ -28190,6 +28248,16 @@ public class switch_codec_fmtp : IDisposable {
     } \r
   }\r
 \r
+  public int stereo {\r
+    set {\r
+      freeswitchPINVOKE.switch_codec_fmtp_stereo_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      int ret = freeswitchPINVOKE.switch_codec_fmtp_stereo_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
   public SWIGTYPE_p_void private_info {\r
     set {\r
       freeswitchPINVOKE.switch_codec_fmtp_private_info_set(swigCPtr, SWIGTYPE_p_void.getCPtr(value));\r
@@ -29352,11 +29420,13 @@ public enum switch_core_session_message_types_t {
   SWITCH_MESSAGE_INDICATE_BLIND_TRANSFER_RESPONSE,\r
   SWITCH_MESSAGE_INDICATE_STUN_ERROR,\r
   SWITCH_MESSAGE_INDICATE_MEDIA_RENEG,\r
+  SWITCH_MESSAGE_INDICATE_KEEPALIVE,\r
   SWITCH_MESSAGE_REFER_EVENT,\r
   SWITCH_MESSAGE_ANSWER_EVENT,\r
   SWITCH_MESSAGE_PROGRESS_EVENT,\r
   SWITCH_MESSAGE_RING_EVENT,\r
   SWITCH_MESSAGE_RESAMPLE_EVENT,\r
+  SWITCH_MESSAGE_HEARTBEAT_EVENT,\r
   SWITCH_MESSAGE_INVALID\r
 }\r
 \r
@@ -30016,6 +30086,7 @@ public enum switch_device_state_t {
   SDS_ACTIVE,\r
   SDS_ACTIVE_MULTI,\r
   SDS_HELD,\r
+  SDS_UNHELD,\r
   SDS_HANGUP\r
 }\r
 \r
@@ -30183,6 +30254,36 @@ public class switch_device_stats_t : IDisposable {
     } \r
   }\r
 \r
+  public uint unheld {\r
+    set {\r
+      freeswitchPINVOKE.switch_device_stats_t_unheld_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
+  public uint unheld_in {\r
+    set {\r
+      freeswitchPINVOKE.switch_device_stats_t_unheld_in_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_in_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
+  public uint unheld_out {\r
+    set {\r
+      freeswitchPINVOKE.switch_device_stats_t_unheld_out_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_device_stats_t_unheld_out_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
   public uint hup {\r
     set {\r
       freeswitchPINVOKE.switch_device_stats_t_hup_set(swigCPtr, value);\r
@@ -31815,6 +31916,16 @@ public class switch_file_handle : IDisposable {
     } \r
   }\r
 \r
+  public uint real_channels {\r
+    set {\r
+      freeswitchPINVOKE.switch_file_handle_real_channels_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_file_handle_real_channels_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
   public uint format {\r
     set {\r
       freeswitchPINVOKE.switch_file_handle_format_set(swigCPtr, value);\r
@@ -37364,6 +37475,7 @@ public enum switch_session_ctl_t {
   SCSC_DEBUG_LEVEL,\r
   SCSC_FLUSH_DB_HANDLES,\r
   SCSC_SHUTDOWN_NOW,\r
+  SCSC_REINCARNATE_NOW,\r
   SCSC_CALIBRATE_CLOCK,\r
   SCSC_SAVE_HISTORY,\r
   SCSC_CRASH,\r
@@ -37623,6 +37735,26 @@ public class switch_speech_handle : IDisposable {
     } \r
   }\r
 \r
+  public uint channels {\r
+    set {\r
+      freeswitchPINVOKE.switch_speech_handle_channels_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_speech_handle_channels_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
+  public uint real_channels {\r
+    set {\r
+      freeswitchPINVOKE.switch_speech_handle_real_channels_set(swigCPtr, value);\r
+    } \r
+    get {\r
+      uint ret = freeswitchPINVOKE.switch_speech_handle_real_channels_get(swigCPtr);\r
+      return ret;\r
+    } \r
+  }\r
+\r
   public string voice {\r
     set {\r
       freeswitchPINVOKE.switch_speech_handle_voice_set(swigCPtr, value);\r
@@ -37799,13 +37931,13 @@ public class switch_speech_interface : IDisposable {
     } \r
   }\r
 \r
-  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t speech_open {\r
+  public SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t speech_open {\r
     set {\r
-      freeswitchPINVOKE.switch_speech_interface_speech_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t.getCPtr(value));\r
+      freeswitchPINVOKE.switch_speech_interface_speech_open_set(swigCPtr, SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t.getCPtr(value));\r
     } \r
     get {\r
       IntPtr cPtr = freeswitchPINVOKE.switch_speech_interface_speech_open_get(swigCPtr);\r
-      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_p_unsigned_long__switch_status_t(cPtr, false);\r
+      SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t ret = (cPtr == IntPtr.Zero) ? null : new SWIGTYPE_p_f_p_switch_speech_handle_p_q_const__char_int_int_p_unsigned_long__switch_status_t(cPtr, false);\r
       return ret;\r
     } \r
   }\r