icc changes part 1

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@982 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-03-30 23:02:50 +00:00
parent 14b58205b1
commit 64507e70ca
57 changed files with 1055 additions and 1048 deletions

View File

@ -57,7 +57,6 @@ src/include/switch_frame.h\
src/include/switch_ivr.h\
src/include/switch_loadable_module.h\
src/include/switch_module_interfaces.h\
src/include/switch_mutex.h\
src/include/switch_platform.h\
src/include/switch_resample.h\
src/include/switch_sqlite.h\
@ -71,7 +70,6 @@ src/switch_config.c \
src/switch_console.c \
src/switch_core.c \
src/switch_loadable_module.c \
src/switch_mutex.c \
src/switch_utils.c \
src/switch_event.c \
src/switch_resample.c \
@ -97,7 +95,6 @@ src/include/switch_frame.h\
src/include/switch_ivr.h\
src/include/switch_loadable_module.h\
src/include/switch_module_interfaces.h\
src/include/switch_mutex.h\
src/include/switch_platform.h\
src/include/switch_resample.h\
src/include/switch_sqlite.h\

View File

@ -46,12 +46,10 @@ DIST_COMMON = README $(am__configure_deps) $(library_include_HEADERS) \
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(top_srcdir)/configure $(top_srcdir)/src/include/config.h.in \
$(top_srcdir)/src/include/switch_version.h.in AUTHORS COPYING \
ChangeLog INSTALL NEWS TODO build/config/compile \
ChangeLog INSTALL NEWS build/config/compile \
build/config/config.guess build/config/config.sub \
build/config/depcomp build/config/install-sh \
build/config/ltmain.sh build/config/missing compile \
config.guess config.sub depcomp install-sh ltmain.sh missing \
mkinstalldirs
build/config/ltmain.sh build/config/missing mkinstalldirs
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
@ -80,7 +78,6 @@ am_libfreeswitch_la_OBJECTS = libfreeswitch_la-switch_buffer.lo \
libfreeswitch_la-switch_console.lo \
libfreeswitch_la-switch_core.lo \
libfreeswitch_la-switch_loadable_module.lo \
libfreeswitch_la-switch_mutex.lo \
libfreeswitch_la-switch_utils.lo \
libfreeswitch_la-switch_event.lo \
libfreeswitch_la-switch_resample.lo \
@ -275,7 +272,6 @@ src/include/switch_frame.h\
src/include/switch_ivr.h\
src/include/switch_loadable_module.h\
src/include/switch_module_interfaces.h\
src/include/switch_mutex.h\
src/include/switch_platform.h\
src/include/switch_resample.h\
src/include/switch_sqlite.h\
@ -289,7 +285,6 @@ src/switch_config.c \
src/switch_console.c \
src/switch_core.c \
src/switch_loadable_module.c \
src/switch_mutex.c \
src/switch_utils.c \
src/switch_event.c \
src/switch_resample.c \
@ -314,7 +309,6 @@ src/include/switch_frame.h\
src/include/switch_ivr.h\
src/include/switch_loadable_module.h\
src/include/switch_module_interfaces.h\
src/include/switch_mutex.h\
src/include/switch_platform.h\
src/include/switch_resample.h\
src/include/switch_sqlite.h\
@ -468,7 +462,6 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_event.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_ivr.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_loadable_module.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_mutex.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_resample.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libfreeswitch_la-switch_utils.Plo@am__quote@
@ -542,13 +535,6 @@ libfreeswitch_la-switch_loadable_module.lo: src/switch_loadable_module.c
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -c -o libfreeswitch_la-switch_loadable_module.lo `test -f 'src/switch_loadable_module.c' || echo '$(srcdir)/'`src/switch_loadable_module.c
libfreeswitch_la-switch_mutex.lo: src/switch_mutex.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -MT libfreeswitch_la-switch_mutex.lo -MD -MP -MF "$(DEPDIR)/libfreeswitch_la-switch_mutex.Tpo" -c -o libfreeswitch_la-switch_mutex.lo `test -f 'src/switch_mutex.c' || echo '$(srcdir)/'`src/switch_mutex.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfreeswitch_la-switch_mutex.Tpo" "$(DEPDIR)/libfreeswitch_la-switch_mutex.Plo"; else rm -f "$(DEPDIR)/libfreeswitch_la-switch_mutex.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='src/switch_mutex.c' object='libfreeswitch_la-switch_mutex.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -c -o libfreeswitch_la-switch_mutex.lo `test -f 'src/switch_mutex.c' || echo '$(srcdir)/'`src/switch_mutex.c
libfreeswitch_la-switch_utils.lo: src/switch_utils.c
@am__fastdepCC_TRUE@ if $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libfreeswitch_la_CFLAGS) $(CFLAGS) -MT libfreeswitch_la-switch_utils.lo -MD -MP -MF "$(DEPDIR)/libfreeswitch_la-switch_utils.Tpo" -c -o libfreeswitch_la-switch_utils.lo `test -f 'src/switch_utils.c' || echo '$(srcdir)/'`src/switch_utils.c; \
@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/libfreeswitch_la-switch_utils.Tpo" "$(DEPDIR)/libfreeswitch_la-switch_utils.Plo"; else rm -f "$(DEPDIR)/libfreeswitch_la-switch_utils.Tpo"; exit 1; fi

172
aclocal.m4 vendored
View File

@ -143,7 +143,7 @@ rm="rm -f"
default_ofile=libtool
can_build_shared=yes
# All known linkers require a `.a' archive for static linking (except M$VC,
# All known linkers require a `.a' archive for static linking (except MSVC,
# which needs '.lib').
libext=a
ltmain="$ac_aux_dir/ltmain.sh"
@ -359,8 +359,8 @@ if test "X${echo_test_string+set}" != Xset; then
# find a string as large as possible, as long as the shell can cope with it
for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
# expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
if (echo_test_string="`eval $cmd`") 2>/dev/null &&
echo_test_string="`eval $cmd`" &&
if (echo_test_string=`eval $cmd`) 2>/dev/null &&
echo_test_string=`eval $cmd` &&
(test "X$echo_test_string" = "X$echo_test_string") 2>/dev/null
then
break
@ -529,7 +529,7 @@ x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*|s390*-*linux*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
if AC_TRY_EVAL(ac_compile); then
case "`/usr/bin/file conftest.o`" in
case `/usr/bin/file conftest.o` in
*32-bit*)
case $host in
x86_64-*linux*)
@ -611,7 +611,7 @@ AC_CACHE_CHECK([$1], [$2],
# with a dollar sign (not a hyphen), so the echo should work correctly.
# The option is referenced via a variable to avoid confusing sed.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@ -650,7 +650,7 @@ AC_DEFUN([AC_LIBTOOL_LINKER_OPTION],
LDFLAGS="$LDFLAGS $3"
printf "$lt_simple_link_test_code" > conftest.$ac_ext
if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
# The compiler can only warn and ignore the option if not recognized
# The linker can only warn and ignore the option if not recognized
# So say no if there are warnings
if test -s conftest.err; then
# Append any errors to the config.log.
@ -725,7 +725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
elif test -x /usr/sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
else
lt_cv_sys_max_cmd_len=65536 # usable default for *BSD
lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
fi
# And add a safety zone
lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
@ -737,7 +737,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
# nice to cause kernel panics so lets avoid the loop below.
# First set a reasonable default.
lt_cv_sys_max_cmd_len=16384
#
#
if test -x /sbin/sysconfig; then
case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
*1*) lt_cv_sys_max_cmd_len=-1 ;;
@ -854,7 +854,7 @@ int main ()
}]
EOF
if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
(./conftest; exit; ) 2>/dev/null
(./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
lt_status=$?
case x$lt_status in
x$lt_dlno_uscore) $1 ;;
@ -1003,7 +1003,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
# Note that $ac_compile itself does not contain backslashes and begins
# with a dollar sign (not a hyphen), so the echo should work correctly.
lt_compile=`echo "$ac_compile" | $SED \
-e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
(eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
@ -1021,7 +1021,7 @@ AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
_LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
fi
fi
chmod u+w .
chmod u+w . 2>&AS_MESSAGE_LOG_FD
$rm conftest*
# SGI C++ compiler will create directory out/ii_files/ for
# template instantiation
@ -1281,7 +1281,8 @@ cygwin* | mingw* | pw32*)
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
test -d \$dldir || mkdir -p \$dldir~
$install_prog $dir/$dlname \$dldir/$dlname'
$install_prog $dir/$dlname \$dldir/$dlname~
chmod a+x \$dldir/$dlname'
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$rm \$dlpath'
@ -1334,7 +1335,7 @@ darwin* | rhapsody*)
soname_spec='${libname}${release}${major}$shared_ext'
shlibpath_overrides_runpath=yes
shlibpath_var=DYLD_LIBRARY_PATH
shrext_cmds='$(test .$module = .yes && echo .so || echo .dylib)'
shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
# Apple's gcc prints 'gcc -print-search-dirs' doesn't operate the same.
if test "$GCC" = yes; then
sys_lib_search_path_spec=`$CC -print-search-dirs | tr "\n" "$PATH_SEPARATOR" | sed -e 's/libraries:/@libraries:/' | tr "@" "\n" | grep "^libraries:" | sed -e "s/^libraries://" -e "s,=/,/,g" -e "s,$PATH_SEPARATOR, ,g" -e "s,.*,& /lib /usr/lib /usr/local/lib,g"`
@ -1372,7 +1373,14 @@ kfreebsd*-gnu)
freebsd* | dragonfly*)
# DragonFly does not have aout. When/if they implement a new
# versioning mechanism, adjust this.
objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout`
if test -x /usr/bin/objformat; then
objformat=`/usr/bin/objformat`
else
case $host_os in
freebsd[[123]]*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
version_type=freebsd-$objformat
case $version_type in
freebsd-elf*)
@ -1417,7 +1425,7 @@ hpux9* | hpux10* | hpux11*)
version_type=sunos
need_lib_prefix=no
need_version=no
case "$host_cpu" in
case $host_cpu in
ia64*)
shrext_cmds='.so'
hardcode_into_libs=yes
@ -1813,7 +1821,7 @@ AC_DEFUN([AC_LIBTOOL_DLOPEN],
# AC_LIBTOOL_WIN32_DLL
# --------------------
# declare package support for building win32 dll's
# declare package support for building win32 DLLs
AC_DEFUN([AC_LIBTOOL_WIN32_DLL],
[AC_BEFORE([$0], [AC_LIBTOOL_SETUP])
])# AC_LIBTOOL_WIN32_DLL
@ -1987,7 +1995,7 @@ dnl not every word. This closes a longstanding sh security hole.
if test -n "$file_magic_test_file"; then
case $deplibs_check_method in
"file_magic "*)
file_magic_regex="`expr \"$deplibs_check_method\" : \"file_magic \(.*\)\"`"
file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
$EGREP "$file_magic_regex" > /dev/null; then
@ -2097,7 +2105,7 @@ AC_CACHE_VAL(lt_cv_path_LD,
if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
lt_cv_path_LD="$ac_dir/$ac_prog"
# Check to see if the program is GNU ld. I'd rather use --version,
# but apparently some GNU ld's only accept -v.
# but apparently some variants of GNU ld only accept -v.
# Break only if it was the GNU/non-GNU ld that we prefer.
case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
@ -2129,7 +2137,7 @@ AC_PROG_LD_GNU
AC_DEFUN([AC_PROG_LD_GNU],
[AC_REQUIRE([AC_PROG_EGREP])dnl
AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
[# I'd rather use --version here, but apparently some GNU ld's only accept -v.
[# I'd rather use --version here, but apparently some GNU lds only accept -v.
case `$LD -v 2>&1 </dev/null` in
*GNU* | *'with BFD'*)
lt_cv_prog_gnu_ld=yes
@ -2243,7 +2251,7 @@ gnu*)
hpux10.20* | hpux11*)
lt_cv_file_magic_cmd=/usr/bin/file
case "$host_cpu" in
case $host_cpu in
ia64*)
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
@ -2417,13 +2425,13 @@ esac
# -----------------------------------
# sets LIBLTDL to the link flags for the libltdl convenience library and
# LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-convenience to the configure arguments. Note that LIBLTDL
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
# DIRECTORY is not provided, it is assumed to be `libltdl'. LIBLTDL will
# be prefixed with '${top_builddir}/' and LTDLINCL will be prefixed with
# '${top_srcdir}/' (note the single quotes!). If your package is not
# flat and you're not using automake, define top_builddir and
# top_srcdir appropriately in the Makefiles.
# --enable-ltdl-convenience to the configure arguments. Note that
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
# it is assumed to be `libltdl'. LIBLTDL will be prefixed with
# '${top_builddir}/' and LTDLINCL will be prefixed with '${top_srcdir}/'
# (note the single quotes!). If your package is not flat and you're not
# using automake, define top_builddir and top_srcdir appropriately in
# the Makefiles.
AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
case $enable_ltdl_convenience in
@ -2442,13 +2450,13 @@ AC_DEFUN([AC_LIBLTDL_CONVENIENCE],
# -----------------------------------
# sets LIBLTDL to the link flags for the libltdl installable library and
# LTDLINCL to the include flags for the libltdl header and adds
# --enable-ltdl-install to the configure arguments. Note that LIBLTDL
# and LTDLINCL are not AC_SUBSTed, nor is AC_CONFIG_SUBDIRS called. If
# DIRECTORY is not provided and an installed libltdl is not found, it is
# assumed to be `libltdl'. LIBLTDL will be prefixed with '${top_builddir}/'
# and LTDLINCL will be prefixed with '${top_srcdir}/' (note the single
# quotes!). If your package is not flat and you're not using automake,
# define top_builddir and top_srcdir appropriately in the Makefiles.
# --enable-ltdl-install to the configure arguments. Note that
# AC_CONFIG_SUBDIRS is not called here. If DIRECTORY is not provided,
# and an installed libltdl is not found, it is assumed to be `libltdl'.
# LIBLTDL will be prefixed with '${top_builddir}/'# and LTDLINCL with
# '${top_srcdir}/' (note the single quotes!). If your package is not
# flat and you're not using automake, define top_builddir and top_srcdir
# appropriately in the Makefiles.
# In the future, this macro may have to be called after AC_PROG_LIBTOOL.
AC_DEFUN([AC_LIBLTDL_INSTALLABLE],
[AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl
@ -2627,7 +2635,7 @@ test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case "$host_os" in
case $host_os in
aix3*)
test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then
@ -2694,7 +2702,7 @@ _LT_AC_TAGVAR(postdeps, $1)=
_LT_AC_TAGVAR(compiler_lib_search_path, $1)=
# Source file extension for C++ test sources.
ac_ext=cc
ac_ext=cpp
# Object file extension for compiled C++ test sources.
objext=o
@ -2910,7 +2918,7 @@ case $host_os in
# Exported symbols can be pulled into shared objects from archives
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds it's shared libraries.
# This is similar to how AIX traditionally builds its shared libraries.
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
@ -2949,7 +2957,7 @@ case $host_os in
fi
;;
darwin* | rhapsody*)
case "$host_os" in
case $host_os in
rhapsody* | darwin1.[[012]])
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
;;
@ -2987,7 +2995,7 @@ case $host_os in
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
fi
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
@ -3000,7 +3008,7 @@ case $host_os in
output_verbose_link_cmd='echo'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
@ -3080,7 +3088,7 @@ case $host_os in
;;
hpux10*|hpux11*)
if test $with_gnu_ld = no; then
case "$host_cpu" in
case $host_cpu in
hppa*64*)
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
@ -3096,7 +3104,7 @@ case $host_os in
;;
esac
fi
case "$host_cpu" in
case $host_cpu in
hppa*64*)
_LT_AC_TAGVAR(hardcode_direct, $1)=no
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -3122,7 +3130,7 @@ case $host_os in
_LT_AC_TAGVAR(ld_shlibs, $1)=no
;;
aCC*)
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
;;
@ -3143,7 +3151,7 @@ case $host_os in
*)
if test "$GXX" = yes; then
if test $with_gnu_ld = no; then
case "$host_cpu" in
case $host_cpu in
ia64*|hppa*64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs'
;;
@ -3244,7 +3252,7 @@ case $host_os in
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
_LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
;;
cxx*)
# Compaq C++
@ -3476,10 +3484,11 @@ case $host_os in
case $cc_basename in
CC*)
# Sun C++ 4.2, 5.x and Centerline C++
_LT_AC_TAGVAR(archive_cmds_need_lc,$1)=yes
_LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
$CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
$CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@ -3499,15 +3508,7 @@ case $host_os in
esac
_LT_AC_TAGVAR(link_all_deplibs, $1)=yes
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
#
# There doesn't appear to be a way to prevent this compiler from
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
output_verbose_link_cmd='templist=`$CC -G $CFLAGS -v conftest.$objext 2>&1 | grep "\-[[LR]]"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
output_verbose_link_cmd='echo'
# Archives containing C++ object files must be created using
# "CC -xar", where "CC" is the Sun C++ compiler. This is
@ -3664,7 +3665,7 @@ if AC_TRY_EVAL(ac_compile); then
# The `*' in the case matches for architectures that use `case' in
# $output_verbose_cmd can trigger glob expansion during the loop
# eval without this substitution.
output_verbose_link_cmd="`$echo \"X$output_verbose_link_cmd\" | $Xsed -e \"$no_glob_subst\"`"
output_verbose_link_cmd=`$echo "X$output_verbose_link_cmd" | $Xsed -e "$no_glob_subst"`
for p in `eval $output_verbose_link_cmd`; do
case $p in
@ -3740,6 +3741,21 @@ fi
$rm -f confest.$objext
# PORTME: override above test on systems where it is broken
ifelse([$1],[CXX],
[case $host_os in
solaris*)
case $cc_basename in
CC*)
# Adding this requires a known-good setup of shared libraries for
# Sun compiler versions before 5.6, else PIC objects from an old
# archive will be linked into the output, leading to subtle bugs.
_LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun'
;;
esac
esac
])
case " $_LT_AC_TAGVAR(postdeps, $1) " in
*" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;;
esac
@ -3809,7 +3825,7 @@ test "$can_build_shared" = "no" && enable_shared=no
# On AIX, shared libraries and static libraries use the same namespace, and
# are all built from PIC.
case "$host_os" in
case $host_os in
aix3*)
test "$enable_shared" = yes && enable_static=no
if test -n "$RANLIB"; then
@ -4708,7 +4724,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
hpux*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
;;
*)
@ -4777,7 +4793,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
aCC*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive"
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
@ -4818,7 +4834,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
# Portland Group C++ compiler.
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
cxx*)
# Compaq C++
@ -4982,7 +4998,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
hpux*)
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
@ -5029,7 +5045,7 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
# PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
# not for PA HP-UX.
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
# +Z the default
;;
@ -5059,12 +5075,12 @@ AC_MSG_CHECKING([for $compiler option to produce PIC])
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
pgcc* | pgf77* | pgf90*)
pgcc* | pgf77* | pgf90* | pgf95*)
# Portland Group compilers (*not* the Pentium gcc compiler,
# which looks to be a dead project)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-static'
_LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
ccc*)
_LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
@ -5147,7 +5163,7 @@ if test -n "$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)"; then
[_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
_LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
fi
case "$host_os" in
case $host_os in
# For platforms which do not support PIC, -DPIC is meaningless:
*djgpp*)
_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=
@ -5243,7 +5259,7 @@ ifelse([$1],[CXX],[
if test "$with_gnu_ld" = yes; then
# If archive_cmds runs LD, not CC, wlarc should be empty
wlarc='${wl}'
# Set some defaults for GNU ld with shared library support. These
# are reset later if shared libraries are not supported. Putting them
# here allows them to be overridden if necessary.
@ -5264,7 +5280,7 @@ ifelse([$1],[CXX],[
*\ 2.11.*) ;; # other 2.11 versions
*) supports_anon_versioning=yes ;;
esac
# See if GNU ld supports shared libraries.
case $host_os in
aix3* | aix4* | aix5*)
@ -5338,11 +5354,11 @@ EOF
tmp_addflag=
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag'
;;
pgf77* | pgf90* ) # Portland Group f77 and f90 compilers
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive,`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive'
tmp_addflag=' $pic_flag -Mnomain' ;;
ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
tmp_addflag=' -i_dynamic' ;;
@ -5548,7 +5564,7 @@ EOF
# Exported symbols can be pulled into shared objects from archives
_LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
_LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
# This is similar to how AIX traditionally builds it's shared libraries.
# This is similar to how AIX traditionally builds its shared libraries.
_LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
fi
fi
@ -5588,7 +5604,7 @@ EOF
;;
darwin* | rhapsody*)
case "$host_os" in
case $host_os in
rhapsody* | darwin1.[[012]])
_LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress'
;;
@ -5617,7 +5633,7 @@ EOF
output_verbose_link_cmd='echo'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
else
@ -5626,7 +5642,7 @@ EOF
output_verbose_link_cmd='echo'
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring'
_LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags'
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's
# Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds
_LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
_LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
;;
@ -5692,7 +5708,7 @@ EOF
hpux10* | hpux11*)
if test "$GCC" = yes -a "$with_gnu_ld" = no; then
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
@ -5701,7 +5717,7 @@ EOF
;;
esac
else
case "$host_cpu" in
case $host_cpu in
hppa*64*|ia64*)
_LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags'
;;
@ -5711,7 +5727,7 @@ EOF
esac
fi
if test "$with_gnu_ld" = no; then
case "$host_cpu" in
case $host_cpu in
hppa*64*)
_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
_LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'

323
configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,28 +1,30 @@
applications/mod_bridgecall
applications/mod_playback
applications/mod_echo
#applications/mod_ivrtest
applications/mod_playback
#applications/mod_skel
codecs/mod_gsm
#asr_tts/mod_cepstral
codecs/mod_g711
#codecs/mod_g729
codecs/mod_gsm
#codecs/mod_ilbc
codecs/mod_l16
#codecs/mod_speex
dialplans/mod_dialplan_demo
#dialplans/mod_dialplan_directory
dialplans/mod_pcre
#directories/mod_ldap
endpoints/mod_exosip
endpoints/mod_iax
#endpoints/mod_opal
#endpoints/mod_portaudio
#endpoints/mod_wanpipe
#endpoints/mod_woomera
#event_handlers/mod_event_multicast
#event_handlers/mod_event_test
#event_handlers/mod_xmpp_event
formats/mod_sndfile
timers/mod_softtimer
dialplans/mod_pcre
#directories/mod_ldap
#dialplans/mod_dialplan_directory
#event_handlers/mod_zeroconf
#asr_tts/mod_cepstral
#languages/mod_spidermonkey
formats/mod_sndfile
#languages/mod_perl
#languages/mod_spidermonkey
timers/mod_softtimer

View File

@ -57,7 +57,6 @@ extern "C" {
#include <switch_console.h>
#include <switch_utils.h>
#include <switch_caller.h>
#include <switch_mutex.h>
#include <switch_config.h>
#include <switch_frame.h>
#include <switch_module_interfaces.h>

View File

@ -1342,6 +1342,74 @@ DoxyDefine(apr_status_t switch_queue_trypop(switch_queue_t *queue, void **data);
DoxyDefine(apr_status_t switch_queue_trypush(switch_queue_t *queue, void *data);)
#define switch_queue_trypush apr_queue_trypush
/**
* @defgroup switch_thread_mutex Thread Mutex Routines
* @ingroup switch_apr
* @{
*/
/** Opaque thread-local mutex structure */
typedef apr_thread_mutex_t switch_mutex_t;
/** Lock Flags */
#define SWITCH_MUTEX_DEFAULT APR_THREAD_MUTEX_DEFAULT /**< platform-optimal lock behavior */
#define SWITCH_MUTEX_NESTED APR_THREAD_MUTEX_NESTED /**< enable nested (recursive) locks */
#define SWITCH_MUTEX_UNNESTED APR_THREAD_MUTEX_UNNESTED /**< disable nested locks */
/**
* Create and initialize a mutex that can be used to synchronize threads.
* @param lock the memory address where the newly created mutex will be
* stored.
* @param flags Or'ed value of:
* <PRE>
* SWITCH_THREAD_MUTEX_DEFAULT platform-optimal lock behavior.
* SWITCH_THREAD_MUTEX_NESTED enable nested (recursive) locks.
* SWITCH_THREAD_MUTEX_UNNESTED disable nested locks (non-recursive).
* </PRE>
* @param pool the pool from which to allocate the mutex.
* @warning Be cautious in using SWITCH_THREAD_MUTEX_DEFAULT. While this is the
* most optimial mutex based on a given platform's performance charateristics,
* it will behave as either a nested or an unnested lock.
*
SWITCH_DECLARE(switch_status) switch_mutex_init(switch_mutex_t **lock,
switch_lock_flag flags,
switch_memory_pool *pool);
*/
#define switch_mutex_init apr_thread_mutex_create
/**
* Destroy the mutex and free the memory associated with the lock.
* @param lock the mutex to destroy.
*/
//SWITCH_DECLARE(switch_status) switch_mutex_destroy(switch_mutex_t *lock);
#define switch_mutex_destroy apr_thread_mutex_destroy
/**
* Acquire the lock for the given mutex. If the mutex is already locked,
* the current thread will be put to sleep until the lock becomes available.
* @param lock the mutex on which to acquire the lock.
*/
//SWITCH_DECLARE(switch_status) switch_mutex_lock(switch_mutex_t *lock);
#define switch_mutex_lock apr_thread_mutex_lock
/**
* Release the lock for the given mutex.
* @param lock the mutex from which to release the lock.
*/
//SWITCH_DECLARE(switch_status) switch_mutex_unlock(switch_mutex_t *lock);
#define switch_mutex_unlock apr_thread_mutex_unlock
/**
* Attempt to acquire the lock for the given mutex. If the mutex has already
* been acquired, the call returns immediately with APR_EBUSY. Note: it
* is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
* if the return value was APR_EBUSY, for portability reasons.
* @param lock the mutex on which to attempt the lock acquiring.
*/
//SWITCH_DECLARE(switch_status) switch_mutex_trylock(switch_mutex_t *lock);
#define switch_mutex_trylock apr_thread_mutex_trylock
/** @} */
/** @} */

View File

@ -62,25 +62,25 @@ struct switch_buffer;
* \param max_len length required by the buffer
* \return status
*/
SWITCH_DECLARE(switch_status) switch_buffer_create(switch_memory_pool *pool, switch_buffer **buffer, size_t max_len);
SWITCH_DECLARE(switch_status) switch_buffer_create(switch_memory_pool *pool, switch_buffer **buffer, switch_size_t max_len);
/*! \brief Get the length of a switch_buffer
* \param buffer any buffer of type switch_buffer
* \return int size of the buffer.
*/
SWITCH_DECLARE(int) switch_buffer_len(switch_buffer *buffer);
SWITCH_DECLARE(switch_size_t) switch_buffer_len(switch_buffer *buffer);
/*! \brief Get the freespace of a switch_buffer
* \param buffer any buffer of type switch_buffer
* \return int freespace in the buffer.
*/
SWITCH_DECLARE(int) switch_buffer_freespace(switch_buffer *buffer);
SWITCH_DECLARE(switch_size_t) switch_buffer_freespace(switch_buffer *buffer);
/*! \brief Get the in use amount of a switch_buffer
* \param buffer any buffer of type switch_buffer
* \return int ammount of buffer curently in use
*/
SWITCH_DECLARE(size_t) switch_buffer_inuse(switch_buffer *buffer);
SWITCH_DECLARE(switch_size_t) switch_buffer_inuse(switch_buffer *buffer);
/*! \brief Read data from a switch_buffer up to the ammount of datalen if it is available. Remove read data from buffer.
* \param buffer any buffer of type switch_buffer
@ -88,7 +88,7 @@ SWITCH_DECLARE(size_t) switch_buffer_inuse(switch_buffer *buffer);
* \param datalen amount of data to be returned
* \return int ammount of data actually read
*/
SWITCH_DECLARE(int) switch_buffer_read(switch_buffer *buffer, void *data, size_t datalen);
SWITCH_DECLARE(switch_size_t) switch_buffer_read(switch_buffer *buffer, void *data, switch_size_t datalen);
/*! \brief Write data into a switch_buffer up to the length of datalen
* \param buffer any buffer of type switch_buffer
@ -96,14 +96,14 @@ SWITCH_DECLARE(int) switch_buffer_read(switch_buffer *buffer, void *data, size_t
* \param datalen amount of data to be written
* \return int amount of buffer used after the write, or 0 if no space available
*/
SWITCH_DECLARE(int) switch_buffer_write(switch_buffer *buffer, void *data, size_t datalen);
SWITCH_DECLARE(switch_size_t) switch_buffer_write(switch_buffer *buffer, void *data, switch_size_t datalen);
/*! \brief Remove data from the buffer
* \param buffer any buffer of type switch_buffer
* \param datalen amount of data to be removed
* \return int size of buffer, or 0 if unable to toss that much data
*/
SWITCH_DECLARE(int) switch_buffer_toss(switch_buffer *buffer, size_t datalen);
SWITCH_DECLARE(switch_size_t) switch_buffer_toss(switch_buffer *buffer, switch_size_t datalen);
/*! \brief Remove all data from the buffer
* \param buffer any buffer of type switch_buffer

View File

@ -105,7 +105,7 @@ SWITCH_DECLARE(switch_status) switch_channel_alloc(switch_channel **channel, swi
SWITCH_DECLARE(switch_status) switch_channel_init(switch_channel *channel,
switch_core_session *session,
switch_channel_state state,
switch_channel_flag flags);
uint32_t flags);
/*!
\brief Set the given channel's caller profile
@ -192,25 +192,23 @@ SWITCH_DECLARE(switch_caller_extension *) switch_channel_get_caller_extension(sw
\brief Test for presence of given flag(s) on a given channel
\param channel channel to test
\param flags or'd list of channel flags to test
\return SWITCH_STATUS_SUCCESS if provided flags are set
\return TRUE if flags were present
*/
SWITCH_DECLARE(switch_status) switch_channel_test_flag(switch_channel *channel, int flags);
SWITCH_DECLARE(int) switch_channel_test_flag(switch_channel *channel, switch_channel_flag flags);
/*!
\brief Set given flag(s) on a given channel
\param channel channel on which to set flag(s)
\param flags or'd list of flags to set
\return SWITCH_STATUS_SUCCESS if flags were set
*/
SWITCH_DECLARE(switch_status) switch_channel_set_flag(switch_channel *channel, int flags);
SWITCH_DECLARE(void) switch_channel_set_flag(switch_channel *channel, switch_channel_flag flags);
/*!
\brief Clear given flag(s) from a channel
\param channel channel to clear flags from
\param flags or'd list of flags to clear
\return SWITCH_STATUS_SUCCESS if flags were cleared
*/
SWITCH_DECLARE(switch_status) switch_channel_clear_flag(switch_channel *channel, int flags);
SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel *channel, switch_channel_flag flags);
/*!
\brief Answer a channel (initiate/acknowledge a successful connection)
@ -284,7 +282,7 @@ SWITCH_DECLARE(switch_channel_state) switch_channel_hangup(switch_channel *chann
\param channel channel to test
\return number of digits in the queue
*/
SWITCH_DECLARE(size_t) switch_channel_has_dtmf(switch_channel *channel);
SWITCH_DECLARE(switch_size_t) switch_channel_has_dtmf(switch_channel *channel);
/*!
\brief Queue DTMF on a given channel
@ -301,7 +299,7 @@ SWITCH_DECLARE(switch_status) switch_channel_queue_dtmf(switch_channel *channel,
\param len max size in bytes of the buffer
\return number of bytes read into the buffer
*/
SWITCH_DECLARE(int) switch_channel_dequeue_dtmf(switch_channel *channel, char *dtmf, size_t len);
SWITCH_DECLARE(int) switch_channel_dequeue_dtmf(switch_channel *channel, char *dtmf, switch_size_t len);
/*!
\brief Render the name of the provided state enum

View File

@ -59,22 +59,22 @@ struct switch_core_session_message {
/*! optional string arg*/
char *string_arg;
/*! optional string arg*/
size_t string_arg_size;
switch_size_t string_arg_size;
/*! optional arbitrary pointer arg */
void *pointer_arg;
/*! optional arbitrary pointer arg's size */
size_t pointer_arg_size;
switch_size_t pointer_arg_size;
/*! optional numeric reply*/
int numeric_reply;
/*! optional string reply*/
char *string_reply;
/*! optional string reply*/
size_t string_reply_size;
switch_size_t string_reply_size;
/*! optional arbitrary pointer reply */
void *pointer_reply;
/*! optional arbitrary pointer reply's size */
size_t pointer_reply_size;
switch_size_t pointer_reply_size;
};
@ -169,7 +169,7 @@ SWITCH_DECLARE(unsigned int) switch_core_session_runing(switch_core_session *ses
\return a void pointer to the allocated memory
\note this memory never goes out of scope until the core is destroyed
*/
SWITCH_DECLARE(void *) switch_core_permenant_alloc(size_t memory);
SWITCH_DECLARE(void *) switch_core_permenant_alloc(switch_size_t memory);
/*!
\brief Allocate memory directly from a memory pool
@ -177,7 +177,7 @@ SWITCH_DECLARE(void *) switch_core_permenant_alloc(size_t memory);
\param memory the number of bytes to allocate
\return a void pointer to the allocated memory
*/
SWITCH_DECLARE(void *) switch_core_alloc(switch_memory_pool *pool, size_t memory);
SWITCH_DECLARE(void *) switch_core_alloc(switch_memory_pool *pool, switch_size_t memory);
/*!
\brief Allocate memory from a session's pool
@ -186,7 +186,7 @@ SWITCH_DECLARE(void *) switch_core_alloc(switch_memory_pool *pool, size_t memory
\return a void pointer to the newly allocated memory
\note the memory will be in scope as long as the session exists
*/
SWITCH_DECLARE(void *) switch_core_session_alloc(switch_core_session *session, size_t memory);
SWITCH_DECLARE(void *) switch_core_session_alloc(switch_core_session *session, switch_size_t memory);
/*!
\brief Copy a string using permenant memory allocation
@ -610,7 +610,7 @@ SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec,
int rate,
int ms,
int channels,
switch_codec_flag flags,
uint32_t flags,
const switch_codec_settings *codec_settings,
switch_memory_pool *pool);
@ -631,10 +631,10 @@ SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec,
SWITCH_DECLARE(switch_status) switch_core_codec_encode(switch_codec *codec,
switch_codec *other_codec,
void *decoded_data,
size_t decoded_data_len,
switch_size_t decoded_data_len,
int decoded_rate,
void *encoded_data,
size_t *encoded_data_len,
switch_size_t *encoded_data_len,
int *encoded_rate,
unsigned int *flag);
@ -655,10 +655,10 @@ SWITCH_DECLARE(switch_status) switch_core_codec_encode(switch_codec *codec,
SWITCH_DECLARE(switch_status) switch_core_codec_decode(switch_codec *codec,
switch_codec *other_codec,
void *encoded_data,
size_t encoded_data_len,
switch_size_t encoded_data_len,
int encoded_rate,
void *decoded_data,
size_t *decoded_data_len,
switch_size_t *decoded_data_len,
int *decoded_rate,
unsigned int *flag);
@ -739,7 +739,7 @@ SWITCH_DECLARE(switch_status) switch_core_file_open(switch_file_handle *fh, char
\param len the max size of the buffer
\return SWITCH_STATUS_SUCCESS with len adjusted to the bytes read if successful
*/
SWITCH_DECLARE(switch_status) switch_core_file_read(switch_file_handle *fh, void *data, size_t *len);
SWITCH_DECLARE(switch_status) switch_core_file_read(switch_file_handle *fh, void *data, switch_size_t *len);
/*!
\brief Write media to a file handle
@ -748,7 +748,7 @@ SWITCH_DECLARE(switch_status) switch_core_file_read(switch_file_handle *fh, void
\param len the amount of data to write from the buffer
\return SWITCH_STATUS_SUCCESS with len adjusted to the bytes written if successful
*/
SWITCH_DECLARE(switch_status) switch_core_file_write(switch_file_handle *fh, void *data, size_t *len);
SWITCH_DECLARE(switch_status) switch_core_file_write(switch_file_handle *fh, void *data, switch_size_t *len);
/*!
\brief Seek a position in a file
@ -829,8 +829,8 @@ SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *
*/
SWITCH_DECLARE(switch_status) switch_core_speech_read_tts(switch_speech_handle *sh,
void *data,
size_t *datalen,
size_t *rate,
switch_size_t *datalen,
switch_size_t *rate,
switch_speech_flag *flags);
/*!
\brief Close an open speech handle

View File

@ -229,7 +229,7 @@ SWITCH_DECLARE(switch_status) switch_event_reserve_subclass_detailed(char *owner
\return SWITCH_STATUS_SUCCESS if the operation was successful
\note the body supplied by this function will supersede an existing body the event may have
*/
SWITCH_DECLARE(switch_status) switch_event_serialize(switch_event *event, char *buf, size_t buflen, char *fmt, ...);
SWITCH_DECLARE(switch_status) switch_event_serialize(switch_event *event, char *buf, switch_size_t buflen, char *fmt, ...);
/*!
\brief Determine if the event system has been initilized

View File

@ -49,13 +49,15 @@ struct switch_frame {
/*! the frame data */
void *data;
/*! the size of the buffer that is in use */
size_t datalen;
switch_size_t datalen;
/*! the entire size of the buffer */
size_t buflen;
switch_size_t buflen;
/*! the number of audio samples present (audio only) */
size_t samples;
switch_size_t samples;
/*! the rate of the frame */
int rate;
/*! the timestamp of the frame */
int32_t timestamp;
};
#ifdef __cplusplus

View File

@ -144,7 +144,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
char *tts_name,
char *voice_name,
char *timer_name,
size_t rate,
switch_size_t rate,
switch_dtmf_callback_function dtmf_callback,
char *text,
void *buf,

View File

@ -165,7 +165,6 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool *pool,
/*!
\brief Retrieve the list of loaded codecs into an array based on another array showing the sorted order
\param pool the memory pool to use for the hash index
\param array the array to populate
\param arraylen the max size in elements of the array
\param prefs the array of preferred codec names
@ -173,8 +172,7 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool *pool,
\return the number of elements added to the array
\note this function only considers codecs that are listed in the "prefs" array and ignores the rest.
*/
SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_memory_pool *pool,
switch_codec_interface **array,
SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_codec_interface **array,
int arraylen,
char **prefs,
int preflen);
@ -187,7 +185,7 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_memory_pool
\param len the length in bytes of retbuf
\return the status returned by the API call
*/
SWITCH_DECLARE(switch_status) switch_api_execute(char *cmd, char *arg, char *retbuf, size_t len);
SWITCH_DECLARE(switch_status) switch_api_execute(char *cmd, char *arg, char *retbuf, switch_size_t len);
/* Prototypes of module interface functions */

View File

@ -197,7 +197,7 @@ struct switch_timer {
/*! time interval expressed in milliseconds */
int interval;
/*! flags to control behaviour */
unsigned int flags;
uint32_t flags;
/*! sample count to increment by on each cycle */
unsigned int samples;
/*! current sample count based on samples parameter */
@ -241,9 +241,9 @@ struct switch_file_interface {
/*! function to close the file */
switch_status (*file_close)(switch_file_handle *);
/*! function to read from the file */
switch_status (*file_read)(switch_file_handle *, void *data, size_t *len);
switch_status (*file_read)(switch_file_handle *, void *data, switch_size_t *len);
/*! function to write from the file */
switch_status (*file_write)(switch_file_handle *, void *data, size_t *len);
switch_status (*file_write)(switch_file_handle *, void *data, switch_size_t *len);
/*! function to seek to a certian position in the file */
switch_status (*file_seek)(switch_file_handle *, unsigned int *cur_pos, int64_t samples, int whence);
/*! list of supported file extensions */
@ -256,7 +256,7 @@ struct switch_file_handle {
/*! the interface of the module that implemented the current file type */
const struct switch_file_interface *file_interface;
/*! flags to control behaviour */
unsigned int flags;
uint32_t flags;
/*! a file descriptor if neceessary */
switch_file_t *fd;
/*! samples position of the handle */
@ -304,8 +304,8 @@ struct switch_speech_interface {
/*! function to read audio from the TTS*/
switch_status (*speech_read_tts)(switch_speech_handle *sh,
void *data,
size_t *datalen,
size_t *rate,
switch_size_t *datalen,
switch_size_t *rate,
switch_speech_flag *flags);
const struct switch_speech_interface *next;
@ -317,7 +317,7 @@ struct switch_speech_handle {
/*! the interface of the module that implemented the current speech interface */
const struct switch_speech_interface *speech_interface;
/*! flags to control behaviour */
unsigned int flags;
uint32_t flags;
/*! the handle's memory pool */
switch_memory_pool *memory_pool;
@ -350,7 +350,7 @@ struct switch_directory_handle {
/*! the interface of the module that implemented the current directory interface */
const struct switch_directory_interface *directory_interface;
/*! flags to control behaviour */
unsigned int flags;
uint32_t flags;
/*! the handle's memory pool */
switch_memory_pool *memory_pool;
@ -405,7 +405,7 @@ struct switch_codec {
/*! codec settings for this handle */
struct switch_codec_settings codec_settings;
/*! flags to modify behaviour */
switch_codec_flag flags;
uint32_t flags;
/*! the handle's memory pool*/
switch_memory_pool *memory_pool;
/*! private data for the codec module to store handle specific info */
@ -423,7 +423,7 @@ struct switch_codec_implementation {
/*! number of samples that denote one frame */
int samples_per_frame;
/*! number of bytes that denote one frame decompressed */
size_t bytes_per_frame;
switch_size_t bytes_per_frame;
/*! number of bytes that denote one frame compressed */
int encoded_bytes_per_frame;
/*! number of channels represented */
@ -433,25 +433,25 @@ struct switch_codec_implementation {
/*! max number of frames to send in one network packet */
int max_frames_per_packet;
/*! function to initialize a codec handle using this implementation */
switch_status (*init)(switch_codec *, switch_codec_flag, const switch_codec_settings *codec_settings);
switch_status (*init)(switch_codec *, uint32_t, const switch_codec_settings *codec_settings);
/*! function to encode raw data into encoded data */
switch_status (*encode)(switch_codec *codec,
switch_codec *other_codec,
void *decoded_data,
size_t decoded_data_len,
switch_size_t decoded_data_len,
int decoded_rate,
void *encoded_data,
size_t *encoded_data_len,
switch_size_t *encoded_data_len,
int *encoded_rate,
unsigned int *flag);
/*! function to decode encoded data into raw data */
switch_status (*decode)(switch_codec *codec,
switch_codec *other_codec,
void *encoded_data,
size_t encoded_data_len,
switch_size_t encoded_data_len,
int encoded_rate,
void *decoded_data,
size_t *decoded_data_len,
switch_size_t *decoded_data_len,
int *decoded_rate,
unsigned int *flag);
/*! deinitalize a codec handle using this implementation */

View File

@ -1,114 +0,0 @@
/*
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
* Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com>
*
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
*
* The Initial Developer of the Original Code is
* Anthony Minessale II <anthmct@yahoo.com>
* Portions created by the Initial Developer are Copyright (C)
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Anthony Minessale II <anthmct@yahoo.com>
*
*
* switch_mutex.h -- Mutex Locking
*
*/
/*! \file switch_mutex.h
\brief Mutex Locking
*/
#ifndef SWITCH_MUTEX_H
#define SWITCH_MUTEX_H
#ifdef __cplusplus
extern "C" {
#endif
#include <switch.h>
/**
* @defgroup switch_thread_mutex Thread Mutex Routines
* @ingroup switch_apr
* @{
*/
/** Opaque thread-local mutex structure */
typedef apr_thread_mutex_t switch_mutex_t;
/** Lock Flags */
typedef enum {
SWITCH_MUTEX_DEFAULT = APR_THREAD_MUTEX_DEFAULT /**< platform-optimal lock behavior */,
SWITCH_MUTEX_NESTED = APR_THREAD_MUTEX_NESTED /**< enable nested (recursive) locks */,
SWITCH_MUTEX_UNNESTED = APR_THREAD_MUTEX_UNNESTED /**< disable nested locks */
} switch_lock_flag;
/**
* Create and initialize a mutex that can be used to synchronize threads.
* @param lock the memory address where the newly created mutex will be
* stored.
* @param flags Or'ed value of:
* <PRE>
* SWITCH_THREAD_MUTEX_DEFAULT platform-optimal lock behavior.
* SWITCH_THREAD_MUTEX_NESTED enable nested (recursive) locks.
* SWITCH_THREAD_MUTEX_UNNESTED disable nested locks (non-recursive).
* </PRE>
* @param pool the pool from which to allocate the mutex.
* @warning Be cautious in using SWITCH_THREAD_MUTEX_DEFAULT. While this is the
* most optimial mutex based on a given platform's performance charateristics,
* it will behave as either a nested or an unnested lock.
*/
SWITCH_DECLARE(switch_status) switch_mutex_init(switch_mutex_t **lock,
switch_lock_flag flags,
switch_memory_pool *pool);
/**
* Destroy the mutex and free the memory associated with the lock.
* @param lock the mutex to destroy.
*/
SWITCH_DECLARE(switch_status) switch_mutex_destroy(switch_mutex_t *lock);
/**
* Acquire the lock for the given mutex. If the mutex is already locked,
* the current thread will be put to sleep until the lock becomes available.
* @param lock the mutex on which to acquire the lock.
*/
SWITCH_DECLARE(switch_status) switch_mutex_lock(switch_mutex_t *lock);
/**
* Release the lock for the given mutex.
* @param lock the mutex from which to release the lock.
*/
SWITCH_DECLARE(switch_status) switch_mutex_unlock(switch_mutex_t *lock);
/**
* Attempt to acquire the lock for the given mutex. If the mutex has already
* been acquired, the call returns immediately with APR_EBUSY. Note: it
* is important that the APR_STATUS_IS_EBUSY(s) macro be used to determine
* if the return value was APR_EBUSY, for portability reasons.
* @param lock the mutex on which to attempt the lock acquiring.
*/
SWITCH_DECLARE(switch_status) switch_mutex_trylock(switch_mutex_t *lock);
/** @} */
#ifdef __cplusplus
}
#endif
#endif

View File

@ -38,6 +38,10 @@
extern "C" {
#endif
#ifdef __ICC
#pragma warning (disable:810 869 981 279 1469)
#endif
#ifdef _MSC_VER
#ifndef FREESWITCHCORE_EXPORTS

View File

@ -63,13 +63,13 @@ struct switch_audio_resampler {
/*! the size of the from buffer used */
int from_len;
/*! the total size of the from buffer */
size_t from_size;
switch_size_t from_size;
/*! a pointer to store a float buffer for resampled data */
float *to;
/*! the size of the to buffer used */
int to_len;
/*! the total size of the to buffer */
size_t to_size;
switch_size_t to_size;
};
/*!
@ -84,9 +84,9 @@ struct switch_audio_resampler {
*/
SWITCH_DECLARE(switch_status) switch_resample_create(switch_audio_resampler **new_resampler,
int from_rate,
size_t from_size,
switch_size_t from_size,
int to_rate,
size_t to_size,
switch_size_t to_size,
switch_memory_pool *pool);
/*!
@ -114,7 +114,7 @@ SWITCH_DECLARE(int) switch_resample_process(switch_audio_resampler *resampler, f
\param len the length of the buffers
\return the size of the converted buffer
*/
SWITCH_DECLARE(size_t) switch_float_to_short(float *f, short *s, size_t len);
SWITCH_DECLARE(switch_size_t) switch_float_to_short(float *f, short *s, switch_size_t len);
/*!
\brief Convert an array of chars to an array of floats

View File

@ -36,6 +36,9 @@
#ifdef __cplusplus
extern "C" {
#ifdef _FORMATBUG
}
#endif
#endif
#include <switch.h>
@ -426,7 +429,6 @@ typedef enum {
SWITCH_EVENT_ALL
} switch_event_t;
typedef struct switch_core_session_message switch_core_session_message;
typedef struct switch_audio_resampler switch_audio_resampler;
typedef struct switch_event_header switch_event_header;
@ -486,7 +488,7 @@ typedef switch_status (*switch_kill_channel_hook)(switch_core_session *, int);
typedef switch_status (*switch_waitfor_read_hook)(switch_core_session *, int, int);
typedef switch_status (*switch_waitfor_write_hook)(switch_core_session *, int, int);
typedef switch_status (*switch_send_dtmf_hook)(switch_core_session *, char *);
typedef switch_status (*switch_api_function)(char *in, char *out, size_t outlen);
typedef switch_status (*switch_api_function)(char *in, char *out, switch_size_t outlen);
typedef switch_status (*switch_dtmf_callback_function)(switch_core_session *session, char *dtmf, void *buf, unsigned int buflen);
typedef int (*switch_core_db_callback_func)(void *pArg, int argc, char **argv, char **columnNames);

View File

@ -103,7 +103,7 @@ static void tts_function(switch_core_session *session, char *data)
return;
}
if ((argc = switch_separate_string(mydata, ':', argv, sizeof(argv) / sizeof(argv[0]))) > 1) {
if ((argc = switch_separate_string(mydata, ':', argv, sizeof(argv) / sizeof(argv[0]))) > 1 && argc) {
tts_name = argv[0];
voice_name = argv[1];
text = argv[2];

View File

@ -29,6 +29,10 @@
* mod_cepstral.c -- Cepstral Interface
*
*/
#ifdef __ICC
#pragma warning (disable:188)
#endif
#include <swift.h>
#include <switch.h>
@ -56,7 +60,6 @@ static swift_result_t write_audio(swift_event *event, swift_event_t type, void *
swift_event_t rv = SWIFT_SUCCESS;
void *buf = NULL;
int len = 0;
int wrote;
cepstral = udata;
assert(cepstral != NULL);
@ -64,7 +67,7 @@ static swift_result_t write_audio(swift_event *event, swift_event_t type, void *
/* Only proceed when we have success */
if (!SWIFT_FAILED((rv = swift_event_get_audio(event, &buf, &len)))) {
switch_mutex_lock(cepstral->audio_lock);
if ((wrote=switch_buffer_write(cepstral->audio_buffer, buf, len)) <= 0) {
if (switch_buffer_write(cepstral->audio_buffer, buf, len) <= 0) {
rv = SWIFT_UNKNOWN_ERROR;
}
switch_mutex_unlock(cepstral->audio_lock);
@ -242,7 +245,7 @@ static switch_status cepstral_speech_read_tts(switch_speech_handle *sh,
return status;
}
const switch_speech_interface cepstral_speech_interface = {
static const switch_speech_interface cepstral_speech_interface = {
/*.interface_name*/ "cepstral",
/*.speech_open*/ cepstral_speech_open,
/*.speech_close*/ cepstral_speech_close,
@ -253,7 +256,7 @@ const switch_speech_interface cepstral_speech_interface = {
};
const switch_loadable_module_interface cepstral_module_interface = {
static const switch_loadable_module_interface cepstral_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ NULL,
/*.timer_interface */ NULL,

View File

@ -39,6 +39,9 @@
*/
#include "g711.h"
#ifdef __ICC
#pragma warning (disable:810 869 1418)
#endif
/*
* g711.c

View File

@ -187,6 +187,7 @@ static switch_status switch_g711a_destroy(switch_codec *codec)
/* Registration */
#if 0
static const switch_codec_implementation g711u_8k_60ms_implementation = {
/*.samples_per_second */ 8000,
@ -204,6 +205,7 @@ static const switch_codec_implementation g711u_8k_60ms_implementation = {
/*.destroy */ switch_g711u_destroy
};
static const switch_codec_implementation g711u_8k_30ms_implementation = {
/*.samples_per_second */ 8000,
/*.bits_per_second */ 96000,
@ -220,7 +222,7 @@ static const switch_codec_implementation g711u_8k_30ms_implementation = {
/*.destroy */ switch_g711u_destroy,
/*.next */ &g711u_8k_60ms_implementation
};
#endif
static const switch_codec_implementation g711u_16k_implementation = {
/*.samples_per_second */ 16000,

View File

@ -121,11 +121,11 @@ static switch_status switch_gsm_decode(switch_codec *codec, switch_codec *other_
if (new_len <= *decoded_data_len) {
*decoded_data_len = new_len;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "buffer overflow!!! %d %d\n", new_len, *decoded_data_len);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "buffer overflow!!! %u %u\n", new_len, *decoded_data_len);
return SWITCH_STATUS_FALSE;
}
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "yo this frame is an odd size [%d]\n", encoded_data_len);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "yo this frame is an odd size [%u]\n", encoded_data_len);
}
return SWITCH_STATUS_SUCCESS;
}

View File

@ -35,7 +35,7 @@
static const char modname[] = "mod_speexcodec";
const struct switch_codec_settings default_codec_settings = {
static const struct switch_codec_settings default_codec_settings = {
/*.quality */ 5,
/*.complexity */ 5,
/*.enhancement */ 1,

View File

@ -38,7 +38,7 @@
static const char modname[] = "mod_dialplan_demo";
switch_caller_extension *demo_dialplan_hunt(switch_core_session *session)
static switch_caller_extension *demo_dialplan_hunt(switch_core_session *session)
{
switch_caller_profile *caller_profile;
switch_caller_extension *extension = NULL;

View File

@ -82,7 +82,7 @@ static void load_config(void)
switch_config_close_file(&cfg);
}
switch_caller_extension *directory_dialplan_hunt(switch_core_session *session)
static switch_caller_extension *directory_dialplan_hunt(switch_core_session *session)
{
switch_caller_profile *caller_profile;
switch_caller_extension *extension = NULL;

View File

@ -42,7 +42,7 @@ static const char modname[] = "mod_pcre";
re = NULL;\
}
switch_caller_extension *dialplan_hunt(switch_core_session *session)
static switch_caller_extension *dialplan_hunt(switch_core_session *session)
{
switch_caller_profile *caller_profile;
switch_caller_extension *extension = NULL;

View File

@ -140,7 +140,7 @@ static switch_status mod_ldap_next(switch_directory_handle *dh)
return SWITCH_STATUS_SUCCESS;
}
switch_status mod_ldap_next_pair(switch_directory_handle *dh, char **var, char **val)
static switch_status mod_ldap_next_pair(switch_directory_handle *dh, char **var, char **val)
{
struct ldap_context *context;

View File

@ -282,8 +282,7 @@ static switch_status exosip_on_init(switch_core_session *session)
sdp_message_m_media_add(tech_pvt->local_sdp, "audio", port, NULL, "RTP/AVP");
/* Add in every codec we support on this outbound call */
if (globals.codec_string) {
num_codecs = switch_loadable_module_get_codecs_sorted(switch_core_session_get_pool(tech_pvt->session),
codecs,
num_codecs = switch_loadable_module_get_codecs_sorted(codecs,
SWITCH_MAX_CODECS,
globals.codec_order,
globals.codec_order_last);
@ -301,7 +300,7 @@ static switch_status exosip_on_init(switch_core_session *session)
for (i = 0; i < num_codecs; i++) {
int x = 0;
snprintf(tmp, sizeof(tmp), "%i", codecs[i]->ianacode);
snprintf(tmp, sizeof(tmp), "%u", codecs[i]->ianacode);
sdp_message_m_payload_add(tech_pvt->local_sdp, 0, osip_strdup(tmp));
for (imp = codecs[i]->implementations; imp; imp = imp->next) {
/* Add to SDP config */
@ -309,8 +308,7 @@ static switch_status exosip_on_init(switch_core_session *session)
imp->samples_per_second, x++);
/* Add to SDP message */
snprintf(tmp, sizeof(tmp), "%i %s/%i", codecs[i]->ianacode, codecs[i]->iananame,
imp->samples_per_second);
snprintf(tmp, sizeof(tmp), "%u %s/%d", codecs[i]->ianacode, codecs[i]->iananame, imp->samples_per_second);
sdp_message_a_attribute_add(tech_pvt->local_sdp, 0, "rtpmap", osip_strdup(tmp));
memset(tmp, 0, sizeof(tmp));
}
@ -464,7 +462,7 @@ static void activate_rtp(struct private_object *tech_pvt)
bw *= 8;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Activating RTP %s:%d->%s:%d codec: %d ms: %d\n",
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Activating RTP %s:%d->%s:%d codec: %u ms: %d\n",
tech_pvt->local_sdp_audio_ip,
tech_pvt->local_sdp_audio_port,
tech_pvt->remote_sdp_audio_ip,
@ -684,7 +682,7 @@ static switch_status exosip_write_frame(switch_core_session *session, switch_fra
struct private_object *tech_pvt;
switch_channel *channel = NULL;
switch_status status = SWITCH_STATUS_SUCCESS;
int bytes = 0, samples = 0, ms = 0, frames = 0;
int bytes = 0, samples = 0, frames = 0;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@ -712,7 +710,6 @@ static switch_status exosip_write_frame(switch_core_session *session, switch_fra
bytes = tech_pvt->read_codec.implementation->encoded_bytes_per_frame;
frames = ((int) frame->datalen / bytes);
samples = frames * tech_pvt->read_codec.implementation->samples_per_frame;
ms = frames * tech_pvt->read_codec.implementation->microseconds_per_frame / 1000;
} else {
assert(0);
}
@ -739,8 +736,12 @@ static switch_status exosip_write_frame(switch_core_session *session, switch_fra
for (x = 0; x < loops; x++) {
jrtp4c_write_payload(tech_pvt->rtp_session, tech_pvt->out_digit_packet, 4, 101, ts, tech_pvt->out_digit_seq);
printf("Send %s packet for [%c] ts=%d sofar=%d dur=%d\n", loops == 1 ? "middle" : "end", tech_pvt->out_digit, ts,
tech_pvt->out_digit_sofar, duration);
printf("Send %s packet for [%c] ts=%d sofar=%u dur=%d\n",
loops == 1 ? "middle" : "end",
tech_pvt->out_digit,
ts,
tech_pvt->out_digit_sofar,
duration);
}
}
@ -762,7 +763,7 @@ static switch_status exosip_write_frame(switch_core_session *session, switch_fra
tech_pvt->out_digit_seq++;
for (x = 0; x < 3; x++) {
jrtp4c_write_payload(tech_pvt->rtp_session, tech_pvt->out_digit_packet, 4, 101, ts, tech_pvt->out_digit_seq);
printf("Send start packet for [%c] ts=%d sofar=%d dur=%d\n", tech_pvt->out_digit, ts,
printf("Send start packet for [%c] ts=%d sofar=%u dur=%d\n", tech_pvt->out_digit, ts,
tech_pvt->out_digit_sofar, 0);
}
@ -1111,8 +1112,7 @@ static switch_status exosip_create_call(eXosip_event_t * event)
if (globals.codec_string) {
num_codecs = switch_loadable_module_get_codecs_sorted(switch_core_session_get_pool(tech_pvt->session),
codecs,
num_codecs = switch_loadable_module_get_codecs_sorted(codecs,
SWITCH_MAX_CODECS,
globals.codec_order,
globals.codec_order_last);
@ -1245,7 +1245,7 @@ static switch_status exosip_create_call(eXosip_event_t * event)
}
return 0;
return SWITCH_STATUS_SUCCESS;
}
@ -1624,7 +1624,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
config_exosip(0);
if (globals.debug) {
osip_trace_initialize(globals.debug, stdout);
osip_trace_initialize((osip_trace_level_t) globals.debug, stdout);
}
if (eXosip_init()) {

View File

@ -17,6 +17,10 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifdef __ICC
#pragma warning (disable:810 869 1418 981)
#endif
#include <stdlib.h>
#include <osipparser2/osip_port.h>

View File

@ -215,8 +215,7 @@ static switch_status iax_set_codec(struct private_object *tech_pvt, struct iax_s
int x, srate = 8000;
if (globals.codec_string) {
if ((num_codecs = switch_loadable_module_get_codecs_sorted(switch_core_session_get_pool(tech_pvt->session),
codecs,
if ((num_codecs = switch_loadable_module_get_codecs_sorted(codecs,
SWITCH_MAX_CODECS,
globals.codec_order,
globals.codec_order_last)) <= 0) {
@ -863,9 +862,7 @@ static switch_status load_config(void)
SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
{
int res;
int netfd;
int refresh;
//int refresh;
struct iax_event *iaxevent = NULL;
switch_event *s_event;
if (load_config() != SWITCH_STATUS_SUCCESS) {
@ -875,14 +872,14 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
if (globals.debug) {
iax_enable_debug();
}
if (((res = iax_init(globals.port) < 0)) != 0) {
if (iax_init(globals.port) < 0) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Error Binding Port!\n");
return SWITCH_STATUS_TERM;
}
iax_set_error(iax_err_cb);
iax_set_output(iax_out_cb);
netfd = iax_get_fd();
//netfd = iax_get_fd();
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "IAX Ready Port %d\n", globals.port);
@ -912,8 +909,8 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
switch (iaxevent->etype) {
case IAX_EVENT_REGACK:
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Registration completed successfully.\n");
if (iaxevent->ies.refresh)
refresh = iaxevent->ies.refresh;
//if (iaxevent->ies.refresh)
//refresh = iaxevent->ies.refresh;
break;
case IAX_EVENT_REGREJ:
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Registration failed.\n");
@ -927,7 +924,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
if (iax_set_codec(tech_pvt, iaxevent->session, &format, &cap, &iaxevent->ies.samprate, IAX_SET) !=
SWITCH_STATUS_SUCCESS) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "WTF? %d %d\n", iaxevent->ies.format,
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "WTF? %u %u\n", iaxevent->ies.format,
iaxevent->ies.capability);
}
}
@ -961,7 +958,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
case IAX_EVENT_CONNECT:
// incoming call detected
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Incoming call connected %s, %s, %s %d/%d\n",
"Incoming call connected %s, %s, %s %u/%u\n",
iaxevent->ies.called_number,
iaxevent->ies.calling_number,
iaxevent->ies.calling_name, iaxevent->ies.format, iaxevent->ies.capability);

View File

@ -38,6 +38,10 @@
* PLB021214 - check for valid stream in CloseAudioStream() to prevent hang.
* add timeOutMSec to CloseAudioStream() to prevent hang.
*/
#ifdef __ICC
#pragma warning (disable:810 869 981 279 1469)
#endif
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

View File

@ -33,6 +33,9 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/
#ifdef __ICC
#pragma warning (disable:810 869 981 279 1469)
#endif
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

View File

@ -191,7 +191,7 @@ static int str2dp(char *dp)
return PRI_UNKNOWN;
}
static const switch_endpoint_interface wanpipe_endpoint_interface;
static void set_global_dialplan(char *dialplan);
static int str2node(char *node);
@ -395,6 +395,307 @@ static switch_status wanpipe_on_transmit(switch_core_session *session)
return SWITCH_STATUS_SUCCESS;
}
static switch_status wanpipe_answer_channel(switch_core_session *session)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (switch_test_flag(tech_pvt, TFLAG_INBOUND) && !switch_test_flag(tech_pvt, TFLAG_NOSIG)) {
pri_answer(tech_pvt->spri->pri, tech_pvt->call, 0, 1);
}
return SWITCH_STATUS_SUCCESS;
}
static switch_status wanpipe_read_frame(switch_core_session *session, switch_frame **frame, int timeout,
switch_io_flag flags, int stream_id)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
uint8_t *bp;
int bytes = 0, res = 0;
char digit_str[80];
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
bp = tech_pvt->databuf;
*frame = NULL;
memset(tech_pvt->databuf, 0, sizeof(tech_pvt->databuf));
while (bytes < globals.mtu) {
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if ((res = sangoma_socket_waitfor(tech_pvt->socket, timeout, POLLIN | POLLERR)) < 0) {
return SWITCH_STATUS_GENERR;
} else if (res == 0) {
tech_pvt->read_frame.datalen = 0;
return SWITCH_STATUS_SUCCESS;
}
if ((res = sangoma_readmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe,
sizeof(tech_pvt->hdrframe), bp, sizeof(tech_pvt->databuf) - bytes, 0)) < 0) {
if (errno == EBUSY) {
continue;
} else {
return SWITCH_STATUS_GENERR;
}
}
bytes += res;
bp += bytes;
}
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
tech_pvt->read_frame.datalen = bytes;
tech_pvt->read_frame.samples = bytes / 2;
res = teletone_dtmf_detect (&tech_pvt->dtmf_detect, tech_pvt->read_frame.data, tech_pvt->read_frame.samples);
res = teletone_dtmf_get(&tech_pvt->dtmf_detect, digit_str, sizeof(digit_str));
if(digit_str[0]) {
switch_channel_queue_dtmf(channel, digit_str);
if (globals.debug) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "DTMF DETECTED: [%s]\n", digit_str);
}
if (globals.supress_dtmf_tone) {
memset(tech_pvt->read_frame.data, 0, tech_pvt->read_frame.datalen);
}
}
if (tech_pvt->skip_read_frames > 0) {
memset(tech_pvt->read_frame.data, 0, tech_pvt->read_frame.datalen);
tech_pvt->skip_read_frames--;
}
#ifdef DOTRACE
write(tech_pvt->fd2, tech_pvt->read_frame.data, (int) tech_pvt->read_frame.datalen);
#endif
//printf("read %d\n", tech_pvt->read_frame.datalen);
*frame = &tech_pvt->read_frame;
return SWITCH_STATUS_SUCCESS;
}
static switch_status wanpipe_write_frame(switch_core_session *session, switch_frame *frame, int timeout,
switch_io_flag flags, int stream_id)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
int result = 0;
int bytes = frame->datalen;
uint8_t *bp = frame->data;
unsigned char dtmf[1024];
int bread, bwrote = 0;
switch_status status = SWITCH_STATUS_SUCCESS;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
while (tech_pvt->dtmf_buffer && bwrote < frame->datalen && bytes > 0 && switch_buffer_inuse(tech_pvt->dtmf_buffer) > 0) {
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if ((bread = switch_buffer_read(tech_pvt->dtmf_buffer, dtmf, globals.mtu)) < globals.mtu) {
while (bread < globals.mtu) {
dtmf[bread++] = 0;
}
}
sangoma_socket_waitfor(tech_pvt->socket, -1, POLLOUT | POLLERR | POLLHUP);
#ifdef DOTRACE
write(tech_pvt->fd, dtmf, (int) bread);
#endif
result = sangoma_sendmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe, sizeof(tech_pvt->hdrframe), dtmf, bread, 0);
if (result < 0) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Bad Write %d bytes returned %d (%s)!\n", bread,
result, strerror(errno));
if (errno == EBUSY) {
continue;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Write Failed!\n");
status = SWITCH_STATUS_GENERR;
break;
} else {
bytes -= result;
bwrote += result;
bp += result;
result = 0;
}
}
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if (tech_pvt->skip_write_frames) {
tech_pvt->skip_write_frames--;
return SWITCH_STATUS_SUCCESS;
}
while (bytes > 0) {
unsigned int towrite;
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
sangoma_socket_waitfor(tech_pvt->socket, -1, POLLOUT | POLLERR | POLLHUP);
#ifdef DOTRACE
write(tech_pvt->fd, bp, (int) globals.mtu);
#endif
towrite = bytes >= globals.mtu ? globals.mtu : bytes;
result = sangoma_sendmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe, sizeof(tech_pvt->hdrframe), bp, towrite, 0);
if (result < 0) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Bad Write frame len %u write %d bytes returned %d (%s)!\n", frame->datalen,
globals.mtu, result, strerror(errno));
if (errno == EBUSY) {
continue;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Write Failed!\n");
status = SWITCH_STATUS_GENERR;
break;
} else {
bytes -= result;
bp += result;
result = 0;
}
}
//printf("write %d %d\n", frame->datalen, status);
return status;
}
static switch_status wanpipe_send_dtmf(switch_core_session *session, char *digits)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
switch_status status = SWITCH_STATUS_SUCCESS;
int wrote = 0;
char *cur = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (!tech_pvt->dtmf_buffer) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Allocate DTMF Buffer....");
if (switch_buffer_create(switch_core_session_get_pool(session), &tech_pvt->dtmf_buffer, 3192) != SWITCH_STATUS_SUCCESS) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "FAILURE!\n");
return SWITCH_STATUS_FALSE;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "SUCCESS!\n");
}
}
for (cur = digits; *cur; cur++) {
if ((wrote = teletone_mux_tones(&tech_pvt->tone_session, &tech_pvt->tone_session.TONES[(int)*cur]))) {
switch_buffer_write(tech_pvt->dtmf_buffer, tech_pvt->tone_session.buffer, wrote * 2);
}
}
tech_pvt->skip_read_frames = 200;
return status;
}
static switch_status wanpipe_receive_message(switch_core_session *session, switch_core_session_message *msg)
{
return SWITCH_STATUS_FALSE;
}
static switch_status wanpipe_kill_channel(switch_core_session *session, int sig)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
switch_set_flag(tech_pvt, TFLAG_BYE);
switch_clear_flag(tech_pvt, TFLAG_MEDIA);
return SWITCH_STATUS_SUCCESS;
}
static const switch_io_routines wanpipe_io_routines = {
/*.outgoing_channel */ wanpipe_outgoing_channel,
/*.answer_channel */ wanpipe_answer_channel,
/*.read_frame */ wanpipe_read_frame,
/*.write_frame */ wanpipe_write_frame,
/*.kill_channel */ wanpipe_kill_channel,
/*.waitfor_read */ NULL,
/*.waitfor_read */ NULL,
/*.send_dtmf*/ wanpipe_send_dtmf,
/*.receive_message*/ wanpipe_receive_message
};
static const switch_state_handler_table wanpipe_state_handlers = {
/*.on_init */ wanpipe_on_init,
/*.on_ring */ wanpipe_on_ring,
/*.on_execute */ NULL,
/*.on_hangup */ wanpipe_on_hangup,
/*.on_loopback */ wanpipe_on_loopback,
/*.on_transmit */ wanpipe_on_transmit
};
static const switch_endpoint_interface wanpipe_endpoint_interface = {
/*.interface_name */ "wanpipe",
/*.io_routines */ &wanpipe_io_routines,
/*.state_handlers */ &wanpipe_state_handlers,
/*.private */ NULL,
/*.next */ NULL
};
static const switch_loadable_module_interface wanpipe_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ &wanpipe_endpoint_interface,
/*.timer_interface */ NULL,
/*.dialplan_interface */ NULL,
/*.codec_interface */ NULL,
/*.application_interface */ NULL
};
static switch_status wanpipe_outgoing_channel(switch_core_session *session, switch_caller_profile *outbound_profile,
switch_core_session **new_session, switch_memory_pool *pool)
{
@ -600,304 +901,7 @@ static switch_status wanpipe_outgoing_channel(switch_core_session *session, swit
return SWITCH_STATUS_GENERR;
}
static switch_status wanpipe_answer_channel(switch_core_session *session)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (switch_test_flag(tech_pvt, TFLAG_INBOUND) && !switch_test_flag(tech_pvt, TFLAG_NOSIG)) {
pri_answer(tech_pvt->spri->pri, tech_pvt->call, 0, 1);
}
return SWITCH_STATUS_SUCCESS;
}
static switch_status wanpipe_read_frame(switch_core_session *session, switch_frame **frame, int timeout,
switch_io_flag flags, int stream_id)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
void *bp;
int bytes = 0, res = 0;
char digit_str[80];
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
bp = tech_pvt->databuf;
*frame = NULL;
memset(tech_pvt->databuf, 0, sizeof(tech_pvt->databuf));
while (bytes < globals.mtu) {
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if ((res = sangoma_socket_waitfor(tech_pvt->socket, timeout, POLLIN | POLLERR)) < 0) {
return SWITCH_STATUS_GENERR;
} else if (res == 0) {
tech_pvt->read_frame.datalen = 0;
return SWITCH_STATUS_SUCCESS;
}
if ((res = sangoma_readmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe,
sizeof(tech_pvt->hdrframe), bp, sizeof(tech_pvt->databuf) - bytes, 0)) < 0) {
if (errno == EBUSY) {
continue;
} else {
return SWITCH_STATUS_GENERR;
}
}
bytes += res;
bp += bytes;
}
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
tech_pvt->read_frame.datalen = bytes;
tech_pvt->read_frame.samples = bytes / 2;
res = teletone_dtmf_detect (&tech_pvt->dtmf_detect, tech_pvt->read_frame.data, tech_pvt->read_frame.samples);
res = teletone_dtmf_get(&tech_pvt->dtmf_detect, digit_str, sizeof(digit_str));
if(digit_str[0]) {
switch_channel_queue_dtmf(channel, digit_str);
if (globals.debug) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "DTMF DETECTED: [%s]\n", digit_str);
}
if (globals.supress_dtmf_tone) {
memset(tech_pvt->read_frame.data, 0, tech_pvt->read_frame.datalen);
}
}
if (tech_pvt->skip_read_frames > 0) {
memset(tech_pvt->read_frame.data, 0, tech_pvt->read_frame.datalen);
tech_pvt->skip_read_frames--;
}
#ifdef DOTRACE
write(tech_pvt->fd2, tech_pvt->read_frame.data, (int) tech_pvt->read_frame.datalen);
#endif
//printf("read %d\n", tech_pvt->read_frame.datalen);
*frame = &tech_pvt->read_frame;
return SWITCH_STATUS_SUCCESS;
}
static switch_status wanpipe_write_frame(switch_core_session *session, switch_frame *frame, int timeout,
switch_io_flag flags, int stream_id)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
int res = 0;
int bytes = frame->datalen;
void *bp = frame->data;
unsigned char dtmf[1024];
int inuse, bread, bwrote = 0;
switch_status status = SWITCH_STATUS_SUCCESS;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
while (tech_pvt->dtmf_buffer && bwrote < frame->datalen && bytes > 0 && (inuse = switch_buffer_inuse(tech_pvt->dtmf_buffer)) > 0) {
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if ((bread = switch_buffer_read(tech_pvt->dtmf_buffer, dtmf, globals.mtu)) < globals.mtu) {
while (bread < globals.mtu) {
dtmf[bread++] = 0;
}
}
sangoma_socket_waitfor(tech_pvt->socket, -1, POLLOUT | POLLERR | POLLHUP);
#ifdef DOTRACE
write(tech_pvt->fd, dtmf, (int) bread);
#endif
res = sangoma_sendmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe, sizeof(tech_pvt->hdrframe), dtmf, bread, 0);
if (res < 0) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Bad Write %d bytes returned %d (%s)!\n", bread,
res, strerror(errno));
if (errno == EBUSY) {
continue;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Write Failed!\n");
status = SWITCH_STATUS_GENERR;
break;
} else {
bytes -= res;
bwrote += res;
bp += res;
res = 0;
}
}
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
if (tech_pvt->skip_write_frames) {
tech_pvt->skip_write_frames--;
return SWITCH_STATUS_SUCCESS;
}
while (bytes > 0) {
unsigned int towrite;
if (switch_test_flag(tech_pvt, TFLAG_BYE) || tech_pvt->socket < 0) {
return SWITCH_STATUS_GENERR;
}
sangoma_socket_waitfor(tech_pvt->socket, -1, POLLOUT | POLLERR | POLLHUP);
#ifdef DOTRACE
write(tech_pvt->fd, bp, (int) globals.mtu);
#endif
towrite = bytes >= globals.mtu ? globals.mtu : bytes;
res = sangoma_sendmsg_socket(tech_pvt->socket,
&tech_pvt->hdrframe, sizeof(tech_pvt->hdrframe), bp, towrite, 0);
if (res < 0) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Bad Write frame len %d write %d bytes returned %d (%s)!\n", frame->datalen,
globals.mtu, res, strerror(errno));
if (errno == EBUSY) {
continue;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Write Failed!\n");
status = SWITCH_STATUS_GENERR;
break;
} else {
bytes -= res;
bp += res;
res = 0;
}
}
//printf("write %d %d\n", frame->datalen, status);
return status;
}
static switch_status wanpipe_send_dtmf(switch_core_session *session, char *digits)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
switch_status status = SWITCH_STATUS_SUCCESS;
int wrote = 0;
char *cur = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
if (!tech_pvt->dtmf_buffer) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Allocate DTMF Buffer....");
if (switch_buffer_create(switch_core_session_get_pool(session), &tech_pvt->dtmf_buffer, 3192) != SWITCH_STATUS_SUCCESS) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "FAILURE!\n");
return SWITCH_STATUS_FALSE;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "SUCCESS!\n");
}
}
for (cur = digits; *cur; cur++) {
if ((wrote = teletone_mux_tones(&tech_pvt->tone_session, &tech_pvt->tone_session.TONES[(int)*cur]))) {
switch_buffer_write(tech_pvt->dtmf_buffer, tech_pvt->tone_session.buffer, wrote * 2);
}
}
tech_pvt->skip_read_frames = 200;
return status;
}
static switch_status wanpipe_receive_message(switch_core_session *session, switch_core_session_message *msg)
{
return SWITCH_STATUS_FALSE;
}
static switch_status wanpipe_kill_channel(switch_core_session *session, int sig)
{
struct private_object *tech_pvt;
switch_channel *channel = NULL;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
switch_set_flag(tech_pvt, TFLAG_BYE);
switch_clear_flag(tech_pvt, TFLAG_MEDIA);
return SWITCH_STATUS_SUCCESS;
}
static const switch_io_routines wanpipe_io_routines = {
/*.outgoing_channel */ wanpipe_outgoing_channel,
/*.answer_channel */ wanpipe_answer_channel,
/*.read_frame */ wanpipe_read_frame,
/*.write_frame */ wanpipe_write_frame,
/*.kill_channel */ wanpipe_kill_channel,
/*.waitfor_read */ NULL,
/*.waitfor_read */ NULL,
/*.send_dtmf*/ wanpipe_send_dtmf,
/*.receive_message*/ wanpipe_receive_message
};
static const switch_state_handler_table wanpipe_state_handlers = {
/*.on_init */ wanpipe_on_init,
/*.on_ring */ wanpipe_on_ring,
/*.on_execute */ NULL,
/*.on_hangup */ wanpipe_on_hangup,
/*.on_loopback */ wanpipe_on_loopback,
/*.on_transmit */ wanpipe_on_transmit
};
static const switch_endpoint_interface wanpipe_endpoint_interface = {
/*.interface_name */ "wanpipe",
/*.io_routines */ &wanpipe_io_routines,
/*.state_handlers */ &wanpipe_state_handlers,
/*.private */ NULL,
/*.next */ NULL
};
static const switch_loadable_module_interface wanpipe_module_interface = {
/*.module_name */ modname,
/*.endpoint_interface */ &wanpipe_endpoint_interface,
/*.timer_interface */ NULL,
/*.dialplan_interface */ NULL,
/*.codec_interface */ NULL,
/*.application_interface */ NULL
};
static void s_pri_error(struct pri *pri, char *s)
{
@ -926,7 +930,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_load(const switch_loadable_modul
}
/* start the pri's */
if ((status = config_wanpipe(0) != SWITCH_STATUS_SUCCESS)) {
if ((status = config_wanpipe(0)) != SWITCH_STATUS_SUCCESS) {
return status;
}
@ -1222,7 +1226,7 @@ static int on_dchan_down(struct sangoma_pri *spri, sangoma_pri_event_t event_typ
static int on_anything(struct sangoma_pri *spri, sangoma_pri_event_t event_type, pri_event *event)
{
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Caught Event span %d %d (%s)\n", spri->span, event_type,
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Caught Event span %d %u (%s)\n", spri->span, event_type,
sangoma_pri_event_str(event_type));
return 0;
}
@ -1276,7 +1280,6 @@ static switch_status config_wanpipe(int reload)
{
switch_config cfg;
char *var, *val;
int count = 0;
char *cf = "wanpipe.conf";
int current_span = 0;
@ -1404,7 +1407,7 @@ static switch_status config_wanpipe(int reload)
return count;
return SWITCH_STATUS_SUCCESS;
}

View File

@ -329,8 +329,8 @@ static switch_status woomerachan_kill_channel(switch_core_session *session, int
udp_socket_close(tech_pvt);
switch_channel_hangup(channel);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s WOOMERACHAN KILL %d\n", switch_channel_get_name(channel),
tech_pvt->udp_socket);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "%s WOOMERACHAN KILL\n", switch_channel_get_name(channel));
return SWITCH_STATUS_SUCCESS;
@ -355,7 +355,7 @@ static switch_status woomerachan_waitfor_read(switch_core_session *session, int
tech_pvt = switch_core_session_get_private(session);
assert(tech_pvt != NULL);
return switch_socket_waitfor(&tech_pvt->read_poll, ms);
return switch_socket_waitfor(&tech_pvt->read_poll, ms) ? SWITCH_STATUS_FALSE : SWITCH_STATUS_SUCCESS;
}
static switch_status woomerachan_waitfor_write(switch_core_session *session, int ms, int stream_id)
@ -375,7 +375,6 @@ static switch_status woomerachan_read_frame(switch_core_session *session, switch
switch_channel *channel = NULL;
struct private_object *tech_pvt = NULL;
switch_frame *pframe;
switch_status status;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@ -395,12 +394,12 @@ static switch_status woomerachan_read_frame(switch_core_session *session, switch
*frame = pframe;
pframe->datalen = sizeof(tech_pvt->databuf);
if ((status =
switch_socket_recvfrom(tech_pvt->udpread, tech_pvt->udp_socket, 0, tech_pvt->databuf,
&pframe->datalen)) == SWITCH_STATUS_SUCCESS) {
if (switch_socket_recvfrom(tech_pvt->udpread, tech_pvt->udp_socket, 0, tech_pvt->databuf, &pframe->datalen) == SWITCH_STATUS_SUCCESS) {
pframe->samples = (int) pframe->datalen / 2;
return SWITCH_STATUS_SUCCESS;
}
return status;
return SWITCH_STATUS_FALSE;
}
static switch_status woomerachan_write_frame(switch_core_session *session, switch_frame *frame, int timeout,
@ -408,7 +407,7 @@ static switch_status woomerachan_write_frame(switch_core_session *session, switc
{
switch_channel *channel = NULL;
struct private_object *tech_pvt = NULL;
switch_frame *pframe;
//switch_frame *pframe;
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@ -420,9 +419,12 @@ static switch_status woomerachan_write_frame(switch_core_session *session, switc
return SWITCH_STATUS_GENERR;
}
pframe = &tech_pvt->frame;
return switch_socket_sendto(tech_pvt->udp_socket, tech_pvt->udpwrite, 0, frame->data, &frame->datalen);
//pframe = &tech_pvt->frame;
if (switch_socket_sendto(tech_pvt->udp_socket, tech_pvt->udpwrite, 0, frame->data, &frame->datalen) == SWITCH_STATUS_SUCCESS) {
return SWITCH_STATUS_SUCCESS;
}
return SWITCH_STATUS_GENERR;
}
static const switch_state_handler_table woomerachan_event_handlers = {
@ -623,10 +625,9 @@ static int woomera_dequeue_event(woomera_event_queue * event_queue, woomera_mess
static int woomera_message_parse(switch_socket_t *fd, woomera_message * wmsg, int timeout, woomera_profile * profile,
woomera_event_queue * event_queue)
{
char *cur, *cr, *next = NULL, *eor = NULL;
char *cur, *cr, *next = NULL;
char buf[2048] = "", *ptr;
int bytes = 0;
int failto = 0;
memset(wmsg, 0, sizeof(woomera_message));
@ -636,14 +637,13 @@ static int woomera_message_parse(switch_socket_t *fd, woomera_message * wmsg, in
if (timeout < 0) {
timeout = abs(timeout);
failto = 1;
} else if (timeout == 0) {
timeout = -1;
}
ptr = buf;
bytes = 0;
while ((eor = strstr(buf, WOOMERA_RECORD_SEPERATOR)) == 0) {
while (!strstr(buf, WOOMERA_RECORD_SEPERATOR)) {
size_t len = 1;
if (!profile->thread_running) {
@ -774,14 +774,12 @@ static int connect_woomera(switch_socket_t **new_sock, woomera_profile * profile
{
switch_sockaddr_t *sa;
switch_status status;
status = switch_sockaddr_info_get(&sa, profile->woomera_host, AF_INET, profile->woomera_port, 0, module_pool);
if (status != SWITCH_STATUS_SUCCESS) {
if (switch_sockaddr_info_get(&sa, profile->woomera_host, AF_INET, profile->woomera_port, 0, module_pool) != SWITCH_STATUS_SUCCESS) {
return -1;
}
status = switch_socket_create(new_sock, AF_INET, SOCK_STREAM, 0, module_pool);
if (status != SWITCH_STATUS_SUCCESS) {
if (switch_socket_create(new_sock, AF_INET, SOCK_STREAM, 0, module_pool) != SWITCH_STATUS_SUCCESS) {
return -1;
}
/*
@ -791,8 +789,7 @@ static int connect_woomera(switch_socket_t **new_sock, woomera_profile * profile
return -1;
}
*/
status = switch_socket_connect((*new_sock), sa);
if (status != SWITCH_STATUS_SUCCESS) {
if (switch_socket_connect((*new_sock), sa) != SWITCH_STATUS_SUCCESS) {
return -1;
}
@ -1220,7 +1217,7 @@ static void *woomera_thread_run(void *obj)
profile->woomera_host, profile->woomera_port);
}
}*/
continue;
//continue;
}
if (!strcasecmp(wmsg.command, "INCOMING")) {

View File

@ -95,7 +95,6 @@ static void event_handler(switch_event *event)
switch (event->event_id) {
case SWITCH_EVENT_LOG:
return;
break;
default:
switch_event_serialize(event, buf, sizeof(buf), NULL);
len = strlen(buf);
@ -191,7 +190,6 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_shutdown(void)
SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
{
switch_event *local_event;
switch_status status;
char buf[1024];
globals.running = 1;
@ -199,7 +197,7 @@ SWITCH_MOD_DECLARE(switch_status) switch_module_runtime(void)
switch_sockaddr_t addr = {0};
size_t len = sizeof(buf);
memset(buf, 0, len);
if ((status = switch_socket_recvfrom(&addr, globals.udp_socket, 0, buf, &len)) == SWITCH_STATUS_SUCCESS) {
if (switch_socket_recvfrom(&addr, globals.udp_socket, 0, buf, &len) == SWITCH_STATUS_SUCCESS) {
if (switch_event_create_subclass(&local_event, SWITCH_EVENT_CUSTOM, MULTICAST_EVENT) == SWITCH_STATUS_SUCCESS) {
char *var, *val, *term = NULL;
switch_event_add_header(local_event, SWITCH_STACK_BOTTOM, "Multicast", "yes");

View File

@ -43,7 +43,6 @@ static void event_handler(switch_event *event)
switch (event->event_id) {
case SWITCH_EVENT_LOG:
return;
break;
default:
switch_event_serialize(event, buf, sizeof(buf), NULL);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "\nEVENT\n--------------------------------\n%s\n", buf);

View File

@ -144,13 +144,13 @@ SWITCH_DECLARE_GLOBAL_STRING_FUNC(set_global_jid, globals.jid)
}
int on_result(struct session *sess, ikspak * pak)
static int on_result(struct session *sess, ikspak * pak)
{
return IKS_FILTER_EAT;
}
int on_stream(struct session *sess, int type, iks * node)
static int on_stream(struct session *sess, int type, iks * node)
{
sess->counter = opt_timeout;
@ -216,7 +216,7 @@ int on_stream(struct session *sess, int type, iks * node)
return IKS_OK;
}
int on_msg(void *user_data, ikspak * pak)
static int on_msg(void *user_data, ikspak * pak)
{
char *cmd = iks_find_cdata(pak->x, "body");
char *arg = NULL;
@ -238,13 +238,13 @@ int on_msg(void *user_data, ikspak * pak)
return 0;
}
int on_error(void *user_data, ikspak * pak)
static int on_error(void *user_data, ikspak * pak)
{
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "authorization failed\n");
return IKS_FILTER_EAT;
}
void on_log(struct session *sess, const char *data, size_t size, int is_incoming)
static void on_log(struct session *sess, const char *data, size_t size, int is_incoming)
{
if (iks_is_secure(sess->parser))
fprintf(stderr, "Sec");
@ -255,7 +255,7 @@ void on_log(struct session *sess, const char *data, size_t size, int is_incoming
fprintf(stderr, "[%s]\n", data);
}
void j_setup_filter(struct session *sess)
static void j_setup_filter(struct session *sess)
{
if (my_filter)
iks_filter_delete(my_filter);

View File

@ -172,7 +172,7 @@ static void event_handler(switch_event *event)
my_service_reply,
NULL,
&globals.disc_id)) != SW_OKAY) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "publish failed: %d\n", result);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "publish failed: %u\n", result);
sw_text_record_fina(text_record);
switch_mutex_unlock(globals.zc_lock);
return;

View File

@ -41,7 +41,7 @@ struct sndfile_context {
typedef struct sndfile_context sndfile_context;
switch_status sndfile_file_open(switch_file_handle *handle, char *path)
static switch_status sndfile_file_open(switch_file_handle *handle, char *path)
{
sndfile_context *context;
int mode = 0;
@ -144,7 +144,7 @@ switch_status sndfile_file_open(switch_file_handle *handle, char *path)
return SWITCH_STATUS_SUCCESS;
}
switch_status sndfile_file_close(switch_file_handle *handle)
static switch_status sndfile_file_close(switch_file_handle *handle)
{
sndfile_context *context = handle->private_info;
@ -153,7 +153,7 @@ switch_status sndfile_file_close(switch_file_handle *handle)
return SWITCH_STATUS_SUCCESS;
}
switch_status sndfile_file_seek(switch_file_handle *handle, unsigned int *cur_sample, int64_t samples, int whence)
static switch_status sndfile_file_seek(switch_file_handle *handle, unsigned int *cur_sample, int64_t samples, int whence)
{
sndfile_context *context = handle->private_info;
@ -169,7 +169,7 @@ switch_status sndfile_file_seek(switch_file_handle *handle, unsigned int *cur_sa
}
switch_status sndfile_file_read(switch_file_handle *handle, void *data, size_t *len)
static switch_status sndfile_file_read(switch_file_handle *handle, void *data, size_t *len)
{
size_t inlen = *len;
sndfile_context *context = handle->private_info;
@ -191,7 +191,7 @@ switch_status sndfile_file_read(switch_file_handle *handle, void *data, size_t *
return SWITCH_STATUS_SUCCESS;
}
switch_status sndfile_file_write(switch_file_handle *handle, void *data, size_t *len)
static switch_status sndfile_file_write(switch_file_handle *handle, void *data, size_t *len)
{
size_t inlen = *len;
sndfile_context *context = handle->private_info;

View File

@ -40,7 +40,7 @@ $(MODNAME).$(DYNAMIC_LIB_EXTEN): $(MODNAME).c $(MODNAME).o $(OBJS)
$(CC) $(SOLINK) -o $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(MODNAME).o $(OBJS) $(LDFLAGS)
clean:
rm -fr *.$(DYNAMIC_LIB_EXTEN) *.o *~ perlxsi.c .perlok
rm -fr *.$(DYNAMIC_LIB_EXTEN) *.o *~ .perlok
install:
mkdir -p $(PREFIX)/perl

View File

@ -29,7 +29,9 @@
* mod_perl.c -- Perl
*
*/
#ifdef __ICC
#pragma warning (disable:1419)
#endif
#ifdef _MSC_VER
#include <perlibs.h>
#pragma comment(lib, PERL_LIB)

View File

@ -0,0 +1,19 @@
#ifdef __ICC
#pragma warning (disable:1419)
#endif
#include <EXTERN.h>
#include <perl.h>
EXTERN_C void xs_init (pTHX);
EXTERN_C void boot_DynaLoader (pTHX_ CV* cv);
EXTERN_C void
xs_init(pTHX)
{
char *file = __FILE__;
dXSUB_SYS;
/* DynaLoader is a special case */
newXS("DynaLoader::boot_DynaLoader", boot_DynaLoader, file);
}

View File

@ -1,4 +1,9 @@
#include <switch.h>
#ifdef __ICC
#pragma warning (disable:1418)
#endif
#ifdef _MSC_VER
#include <perlibs.h>
@ -108,9 +113,12 @@ void fs_channel_set_state(struct switch_core_session *session, char *state)
switch_channel_set_state(channel, fs_state);
}
int fs_ivr_play_file(struct switch_core_session *session, char *file, char *timer_name_in)
int fs_ivr_play_file(struct switch_core_session *session, char *file, char *timer_name)
{
char *timer_name = switch_strlen_zero(timer_name_in) ? NULL : timer_name;
if (switch_strlen_zero(timer_name)) {
timer_name = NULL;
}
switch_status status = switch_ivr_play_file(session, NULL, file, timer_name, NULL, NULL, 0);
return status == SWITCH_STATUS_SUCCESS ? 1 : 0;
}

View File

@ -33,6 +33,9 @@
#define HAVE_CURL
#endif
#define JS_BUFFER_SIZE 131072
#ifdef __ICC
#pragma warning (disable:310 193 1418)
#endif
#include <switch.h>
#include "jstypes.h"
@ -1363,8 +1366,8 @@ static JSBool db_fetch(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js
}
for (x = 0; x < colcount; x++) {
snprintf(code, sizeof(code), "~_dB_RoW_DaTa_[\"%s\"] = \"%s\"",
switch_core_db_column_name(dbo->stmt, x),
switch_core_db_column_text(dbo->stmt, x));
(char *) switch_core_db_column_name(dbo->stmt, x),
(char *) switch_core_db_column_text(dbo->stmt, x));
eval_some_js(code, dbo->cx, dbo->obj, rval);
if (*rval == JS_FALSE) {
@ -1517,7 +1520,7 @@ static JSBool teletone_construct(JSContext *cx, JSObject *obj, uintN argc, jsval
(read_codec->implementation->samples_per_second / 50) * read_codec->implementation->number_of_channels,
pool) == SWITCH_STATUS_SUCCESS) {
tto->timer = &tto->timer_base;
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Timer INIT Success %d\n", ms);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Timer INIT Success %u\n", ms);
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Timer INIT Failed\n");
}
@ -1653,9 +1656,7 @@ static JSBool teletone_generate(JSContext *cx, JSObject *obj, uintN argc, jsval
}
if (tto->timer) {
int x;
if ((x = switch_core_timer_next(tto->timer)) < 0) {
if (switch_core_timer_next(tto->timer)< 0) {
break;
}
@ -1850,7 +1851,7 @@ static JSBool js_email(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, js
if ( argc > 4) {
file = JS_GetStringBytes(JS_ValueToString(cx, argv[4]));
}
snprintf(filename, 80, "%smail.%ld", SWITCH_GLOBAL_dirs.temp_dir, switch_time_now());
snprintf(filename, 80, "%smail.%ld%04x", SWITCH_GLOBAL_dirs.temp_dir, time(NULL), rand() & 0xffff);
if ((fd = open(filename, O_WRONLY | O_CREAT | O_TRUNC, 0644))) {
if (file) {
@ -2051,7 +2052,7 @@ static int env_init(JSContext *cx, JSObject *javascript_object)
static void js_parse_and_execute(switch_core_session *session, char *input_code)
{
JSObject *javascript_global_object = NULL, *session_obj = NULL;
JSObject *javascript_global_object = NULL;
char buf[1024], *script, *arg, *argv[512];
int argc = 0, x = 0, y = 0;
unsigned int flags = 0;
@ -2067,7 +2068,7 @@ static void js_parse_and_execute(switch_core_session *session, char *input_code)
JS_SetGlobalObject(cx, javascript_global_object);
/* Emaculent conception of session object into the script if one is available */
if (session && (session_obj = new_js_session(cx, javascript_global_object, session, &jss, "session", flags))) {
if (session && new_js_session(cx, javascript_global_object, session, &jss, "session", flags)) {
JS_SetPrivate(cx, javascript_global_object, session);
}
} else {

View File

@ -36,6 +36,7 @@ static int RUNNING = 0;
static int handle_SIGPIPE(int sig)
{
if(sig);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Sig Pipe!\n");
return 0;
}
@ -50,12 +51,14 @@ static int handle_SIGBUS(int sig)
/* no ctl-c mofo */
static int handle_SIGINT(int sig)
{
if (sig);
return 0;
}
static int handle_SIGHUP(int sig)
{
if(sig);
RUNNING = 0;
return 0;
}
@ -113,6 +116,9 @@ int main(int argc, char *argv[])
}
#ifdef __ICC
#pragma warning (disable:167)
#endif
/* set signal handlers */
signal(SIGINT, (void *) handle_SIGINT);

View File

@ -33,11 +33,11 @@
struct switch_buffer {
unsigned char *data;
size_t used;
size_t datalen;
switch_size_t used;
switch_size_t datalen;
};
SWITCH_DECLARE(switch_status) switch_buffer_create(switch_memory_pool *pool, switch_buffer **buffer, size_t max_len)
SWITCH_DECLARE(switch_status) switch_buffer_create(switch_memory_pool *pool, switch_buffer **buffer, switch_size_t max_len)
{
switch_buffer *new_buffer;
@ -50,33 +50,33 @@ SWITCH_DECLARE(switch_status) switch_buffer_create(switch_memory_pool *pool, swi
return SWITCH_STATUS_MEMERR;
}
SWITCH_DECLARE(int) switch_buffer_len(switch_buffer *buffer)
SWITCH_DECLARE(switch_size_t) switch_buffer_len(switch_buffer *buffer)
{
assert(buffer != NULL);
return (int) buffer->datalen;
return buffer->datalen;
}
SWITCH_DECLARE(int) switch_buffer_freespace(switch_buffer *buffer)
SWITCH_DECLARE(switch_size_t) switch_buffer_freespace(switch_buffer *buffer)
{
assert(buffer != NULL);
return (int) (buffer->datalen - buffer->used);
return (switch_size_t) (buffer->datalen - buffer->used);
}
SWITCH_DECLARE(size_t) switch_buffer_inuse(switch_buffer *buffer)
SWITCH_DECLARE(switch_size_t) switch_buffer_inuse(switch_buffer *buffer)
{
assert(buffer != NULL);
return (int) buffer->used;
return buffer->used;
}
SWITCH_DECLARE(int) switch_buffer_toss(switch_buffer *buffer, size_t datalen)
SWITCH_DECLARE(switch_size_t) switch_buffer_toss(switch_buffer *buffer, switch_size_t datalen)
{
size_t reading = 0;
switch_size_t reading = 0;
assert(buffer != NULL);
@ -92,12 +92,12 @@ SWITCH_DECLARE(int) switch_buffer_toss(switch_buffer *buffer, size_t datalen)
memmove(buffer->data, buffer->data + reading, buffer->datalen - reading);
buffer->used -= datalen;
return (int) buffer->datalen;
return buffer->datalen;
}
SWITCH_DECLARE(int) switch_buffer_read(switch_buffer *buffer, void *data, size_t datalen)
SWITCH_DECLARE(switch_size_t) switch_buffer_read(switch_buffer *buffer, void *data, switch_size_t datalen)
{
size_t reading = 0;
switch_size_t reading = 0;
assert(buffer != NULL);
assert(data != NULL);
@ -116,12 +116,12 @@ SWITCH_DECLARE(int) switch_buffer_read(switch_buffer *buffer, void *data, size_t
memmove(buffer->data, buffer->data + reading, buffer->datalen - reading);
buffer->used -= reading;
//printf("o %d = %d\n", reading, buffer->used);
return (int) reading;
return reading;
}
SWITCH_DECLARE(int) switch_buffer_write(switch_buffer *buffer, void *data, size_t datalen)
SWITCH_DECLARE(switch_size_t) switch_buffer_write(switch_buffer *buffer, void *data, switch_size_t datalen)
{
size_t freespace;
switch_size_t freespace;
assert(buffer != NULL);
assert(data != NULL);
@ -136,7 +136,7 @@ SWITCH_DECLARE(int) switch_buffer_write(switch_buffer *buffer, void *data, size_
buffer->used += datalen;
}
//printf("i %d = %d\n", datalen, buffer->used);
return (int) buffer->used;
return buffer->used;
}
SWITCH_DECLARE(void) switch_buffer_zero(switch_buffer *buffer)

View File

@ -37,7 +37,7 @@ struct switch_channel {
switch_mutex_t *dtmf_mutex;
switch_core_session *session;
switch_channel_state state;
switch_channel_flag flags;
uint32_t flags;
switch_caller_profile *caller_profile;
switch_caller_profile *originator_caller_profile;
switch_caller_profile *originatee_caller_profile;
@ -115,9 +115,9 @@ SWITCH_DECLARE(switch_status) switch_channel_get_raw_mode(switch_channel *channe
}
SWITCH_DECLARE(size_t) switch_channel_has_dtmf(switch_channel *channel)
SWITCH_DECLARE(switch_size_t) switch_channel_has_dtmf(switch_channel *channel)
{
size_t has;
switch_size_t has;
assert(channel != NULL);
switch_mutex_lock(channel->dtmf_mutex);
@ -130,22 +130,27 @@ SWITCH_DECLARE(size_t) switch_channel_has_dtmf(switch_channel *channel)
SWITCH_DECLARE(switch_status) switch_channel_queue_dtmf(switch_channel *channel, char *dtmf)
{
switch_status status;
register switch_size_t len, inuse;
assert(channel != NULL);
switch_mutex_lock(channel->dtmf_mutex);
if (switch_buffer_inuse(channel->dtmf_buffer) + strlen(dtmf) > (size_t) switch_buffer_len(channel->dtmf_buffer)) {
inuse = switch_buffer_inuse(channel->dtmf_buffer);
len = strlen(dtmf);
if (len + inuse > switch_buffer_len(channel->dtmf_buffer)) {
switch_buffer_toss(channel->dtmf_buffer, strlen(dtmf));
}
status = switch_buffer_write(channel->dtmf_buffer, dtmf, strlen(dtmf));
status = switch_buffer_write(channel->dtmf_buffer, dtmf, len) ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_MEMERR;
switch_mutex_unlock(channel->dtmf_mutex);
return status;
}
SWITCH_DECLARE(int) switch_channel_dequeue_dtmf(switch_channel *channel, char *dtmf, size_t len)
SWITCH_DECLARE(int) switch_channel_dequeue_dtmf(switch_channel *channel, char *dtmf, switch_size_t len)
{
int bytes;
switch_event *event;
@ -170,7 +175,7 @@ SWITCH_DECLARE(int) switch_channel_dequeue_dtmf(switch_channel *channel, char *d
SWITCH_DECLARE(switch_status) switch_channel_init(switch_channel *channel,
switch_core_session *session,
switch_channel_state state, switch_channel_flag flags)
switch_channel_state state, uint32_t flags)
{
assert(channel != NULL);
channel->state = state;
@ -225,21 +230,19 @@ SWITCH_DECLARE(switch_status) switch_channel_set_variable(switch_channel *channe
return SWITCH_STATUS_SUCCESS;
}
SWITCH_DECLARE(switch_status) switch_channel_test_flag(switch_channel *channel, int flags)
SWITCH_DECLARE(int) switch_channel_test_flag(switch_channel *channel, switch_channel_flag flags)
{
return switch_test_flag(channel, flags);
return switch_test_flag(channel, flags) ? 1 : 0;
}
SWITCH_DECLARE(switch_status) switch_channel_set_flag(switch_channel *channel, int flags)
SWITCH_DECLARE(void) switch_channel_set_flag(switch_channel *channel, switch_channel_flag flags)
{
switch_set_flag(channel, flags);
return SWITCH_STATUS_SUCCESS;
}
SWITCH_DECLARE(switch_status) switch_channel_clear_flag(switch_channel *channel, int flags)
SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel *channel, switch_channel_flag flags)
{
switch_set_flag(channel, flags);
return SWITCH_STATUS_SUCCESS;
switch_clear_flag(channel, flags);
}
SWITCH_DECLARE(switch_channel_state) switch_channel_get_state(switch_channel *channel)
@ -447,9 +450,7 @@ SWITCH_DECLARE(void) switch_channel_event_set_data(switch_channel *channel, swit
for (hi = switch_hash_first(switch_core_session_get_pool(channel->session), channel->variables); hi;
hi = switch_hash_next(hi)) {
char buf[1024];
switch_event_subclass *subclass;
switch_hash_this(hi, &var, NULL, &val);
subclass = val;
snprintf(buf, sizeof(buf), "variable_%s", (char *) var);
switch_event_add_header(event, SWITCH_STACK_BOTTOM, buf, (char *) val);
}

View File

@ -31,7 +31,7 @@
*/
#include <switch_console.h>
#include <switch.h>
#define CMD_BUFLEN SWITCH_RECCOMMENDED_BUFFER_SIZE * 10
#define CMD_BUFLEN 1024 * 1000
static int switch_console_process(char *cmd, char *retbuf, int retlen)
{
@ -62,8 +62,7 @@ static int switch_console_process(char *cmd, char *retbuf, int retlen)
*arg++ = '\0';
}
if (switch_api_execute(cmd, arg, retbuf, retlen) == SWITCH_STATUS_SUCCESS) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "API CALL [%s(%s)] output:\n%s\n", cmd, arg ? arg : "",
retbuf);
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "API CALL [%s(%s)] output:\n%s\n", cmd, arg ? arg : "", retbuf);
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Unknown Command: %s\n", cmd);
}
@ -98,7 +97,7 @@ SWITCH_DECLARE(void) switch_console_printf(switch_text_channel channel, char *fi
if (channel == SWITCH_CHANNEL_ID_CONSOLE_CLEAN) {
fprintf(handle, "%s", data);
} else {
size_t retsize;
switch_size_t retsize;
switch_time_exp_t tm;
switch_event *event;
switch_time_exp_lt(&tm, switch_time_now());
@ -152,7 +151,7 @@ SWITCH_DECLARE(void) switch_console_loop(void)
memset(&cmd, 0, sizeof(cmd));
for (x = 0; x < sizeof(cmd); x++) {
cmd[x] = (char)getchar();
cmd[x] = (char) getchar();
if (cmd[x] == '\n') {
cmd[x] = '\0';
break;

View File

@ -33,7 +33,7 @@
//#define DEBUG_ALLOC
struct switch_core_session {
unsigned long id;
uint32_t id;
char name[80];
int thread_running;
switch_memory_pool *pool;
@ -74,7 +74,7 @@ SWITCH_DECLARE_DATA switch_directories SWITCH_GLOBAL_dirs;
struct switch_core_runtime {
time_t initiated;
unsigned long session_id;
uint32_t session_id;
apr_pool_t *memory_pool;
switch_hash *session_table;
switch_core_db *db;
@ -96,7 +96,7 @@ static void switch_core_standard_on_transmit(switch_core_session *session);
/* The main runtime obj we keep this hidden for ourselves */
static struct switch_core_runtime runtime;
static void db_pick_path(char *dbname, char *buf, size_t size)
static void db_pick_path(char *dbname, char *buf, switch_size_t size)
{
memset(buf, 0, size);
@ -227,7 +227,7 @@ SWITCH_DECLARE(switch_codec *) switch_core_session_get_write_codec(switch_core_s
}
SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec, char *codec_name, int rate, int ms,
int channels, switch_codec_flag flags,
int channels, uint32_t flags,
const switch_codec_settings *codec_settings,
switch_memory_pool *pool)
{
@ -282,10 +282,10 @@ SWITCH_DECLARE(switch_status) switch_core_codec_init(switch_codec *codec, char *
SWITCH_DECLARE(switch_status) switch_core_codec_encode(switch_codec *codec,
switch_codec *other_codec,
void *decoded_data,
size_t decoded_data_len,
switch_size_t decoded_data_len,
int decoded_rate,
void *encoded_data,
size_t *encoded_data_len, int *encoded_rate, unsigned int *flag)
switch_size_t *encoded_data_len, int *encoded_rate, unsigned int *flag)
{
assert(codec != NULL);
assert(encoded_data != NULL);
@ -313,10 +313,10 @@ SWITCH_DECLARE(switch_status) switch_core_codec_encode(switch_codec *codec,
SWITCH_DECLARE(switch_status) switch_core_codec_decode(switch_codec *codec,
switch_codec *other_codec,
void *encoded_data,
size_t encoded_data_len,
switch_size_t encoded_data_len,
int encoded_rate,
void *decoded_data,
size_t *decoded_data_len, int *decoded_rate, unsigned int *flag)
switch_size_t *decoded_data_len, int *decoded_rate, unsigned int *flag)
{
assert(codec != NULL);
@ -392,14 +392,14 @@ SWITCH_DECLARE(switch_status) switch_core_file_open(switch_file_handle *fh, char
return fh->file_interface->file_open(fh, file_path);
}
SWITCH_DECLARE(switch_status) switch_core_file_read(switch_file_handle *fh, void *data, size_t *len)
SWITCH_DECLARE(switch_status) switch_core_file_read(switch_file_handle *fh, void *data, switch_size_t *len)
{
assert(fh != NULL);
return fh->file_interface->file_read(fh, data, len);
}
SWITCH_DECLARE(switch_status) switch_core_file_write(switch_file_handle *fh, void *data, size_t *len)
SWITCH_DECLARE(switch_status) switch_core_file_write(switch_file_handle *fh, void *data, switch_size_t *len)
{
assert(fh != NULL);
@ -513,8 +513,8 @@ SWITCH_DECLARE(switch_status) switch_core_speech_feed_tts(switch_speech_handle *
SWITCH_DECLARE(switch_status) switch_core_speech_read_tts(switch_speech_handle *sh,
void *data,
size_t *datalen,
size_t *rate,
switch_size_t *datalen,
switch_size_t *rate,
switch_speech_flag *flags)
{
assert(sh != NULL);
@ -599,6 +599,7 @@ static void *switch_core_service_thread(switch_thread *thread, void *obj)
switch_frame *read_frame;
int stream_id = *stream_id_p;
assert(thread != NULL);
assert(session != NULL);
channel = switch_core_session_get_channel(session);
assert(channel != NULL);
@ -612,7 +613,6 @@ static void *switch_core_service_thread(switch_thread *thread, void *obj)
default:
data->running = -1;
continue;
break;
}
switch_yield(10000);
@ -650,7 +650,7 @@ SWITCH_DECLARE(switch_memory_pool *) switch_core_session_get_pool(switch_core_se
/* **ONLY** alloc things with this function that **WILL NOT** outlive
the session itself or expect an earth shattering KABOOM!*/
SWITCH_DECLARE(void *) switch_core_session_alloc(switch_core_session *session, size_t memory)
SWITCH_DECLARE(void *) switch_core_session_alloc(switch_core_session *session, switch_size_t memory)
{
void *ptr = NULL;
assert(session != NULL);
@ -670,7 +670,7 @@ SWITCH_DECLARE(void *) switch_core_session_alloc(switch_core_session *session, s
/* **ONLY** alloc things with these functions that **WILL NOT** need
to be freed *EVER* ie this is for *PERMENANT* memory allocation */
SWITCH_DECLARE(void *) switch_core_permenant_alloc(size_t memory)
SWITCH_DECLARE(void *) switch_core_permenant_alloc(switch_size_t memory)
{
void *ptr = NULL;
assert(runtime.memory_pool != NULL);
@ -688,7 +688,7 @@ SWITCH_DECLARE(void *) switch_core_permenant_alloc(size_t memory)
SWITCH_DECLARE(char *) switch_core_permenant_strdup(char *todup)
{
char *duped = NULL;
size_t len;
switch_size_t len;
assert(runtime.memory_pool != NULL);
@ -711,7 +711,7 @@ SWITCH_DECLARE(char *) switch_core_permenant_strdup(char *todup)
SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session *session, char *todup)
{
char *duped = NULL;
size_t len;
switch_size_t len;
assert(session != NULL);
assert(session->pool != NULL);
@ -734,7 +734,7 @@ SWITCH_DECLARE(char *) switch_core_session_strdup(switch_core_session *session,
SWITCH_DECLARE(char *) switch_core_strdup(switch_memory_pool *pool, char *todup)
{
char *duped = NULL;
size_t len;
switch_size_t len;
assert(pool != NULL);
if (!todup) {
@ -963,9 +963,9 @@ SWITCH_DECLARE(switch_status) switch_core_session_read_frame(switch_core_session
break;
default:
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Codec %s decoder error!\n",
session->read_codec->codec_interface->interface_name);
return status;
break;
}
}
if (session->read_resampler) {
@ -988,8 +988,8 @@ SWITCH_DECLARE(switch_status) switch_core_session_read_frame(switch_core_session
perfect = TRUE;
} else {
if (!session->raw_read_buffer) {
size_t bytes = session->read_codec->implementation->bytes_per_frame * 10;
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Engaging Read Buffer at %d bytes\n", bytes);
switch_size_t bytes = session->read_codec->implementation->bytes_per_frame * 10;
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Engaging Read Buffer at %u bytes\n", bytes);
switch_buffer_create(session->pool, &session->raw_read_buffer, bytes);
}
if (!switch_buffer_write(session->raw_read_buffer, read_frame->data, read_frame->datalen)) {
@ -1013,13 +1013,14 @@ SWITCH_DECLARE(switch_status) switch_core_session_read_frame(switch_core_session
}
session->enc_read_frame.datalen = session->enc_read_frame.buflen;
status = switch_core_codec_encode(session->read_codec,
(*frame)->codec,
session->raw_read_frame.data,
session->raw_read_frame.datalen,
(*frame)->codec->implementation->samples_per_second,
enc_frame->codec,
enc_frame->data,
enc_frame->datalen,
enc_frame->codec->implementation->samples_per_second,
session->enc_read_frame.data,
&session->enc_read_frame.datalen,
&session->enc_read_frame.rate, &flag);
&session->enc_read_frame.rate,
&flag);
switch (status) {
@ -1122,7 +1123,6 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
break;
case SWITCH_STATUS_BREAK:
return SWITCH_STATUS_SUCCESS;
break;
case SWITCH_STATUS_NOOP:
write_frame = frame;
status = SWITCH_STATUS_SUCCESS;
@ -1131,7 +1131,6 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Codec %s decoder error!\n",
frame->codec->codec_interface->interface_name);
return status;
break;
}
}
if (session->write_resampler) {
@ -1155,9 +1154,9 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
perfect = TRUE;
} else {
if (!session->raw_write_buffer) {
size_t bytes = session->write_codec->implementation->bytes_per_frame * 10;
switch_size_t bytes = session->write_codec->implementation->bytes_per_frame * 10;
switch_console_printf(SWITCH_CHANNEL_CONSOLE,
"Engaging Write Buffer at %d bytes to accomodate %d->%d\n",
"Engaging Write Buffer at %u bytes to accomodate %u->%u\n",
bytes,
write_frame->datalen, session->write_codec->implementation->bytes_per_frame);
if ((status =
@ -1202,15 +1201,14 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
session->read_codec->codec_interface->interface_name);
write_frame = NULL;
return status;
break;
}
status = perform_write(session, write_frame, timeout, io_flag, stream_id);
return status;
} else {
size_t used = switch_buffer_inuse(session->raw_write_buffer);
size_t bytes = session->write_codec->implementation->bytes_per_frame;
size_t frames = (used / bytes);
switch_size_t used = switch_buffer_inuse(session->raw_write_buffer);
switch_size_t bytes = session->write_codec->implementation->bytes_per_frame;
switch_size_t frames = (used / bytes);
@ -1219,7 +1217,7 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
status = SWITCH_STATUS_SUCCESS;
if (frames) {
size_t x;
switch_size_t x;
for (x = 0; x < frames; x++) {
if ((session->raw_write_frame.datalen =
switch_buffer_read(session->raw_write_buffer, session->raw_write_frame.data, bytes)) != 0) {
@ -1264,7 +1262,6 @@ SWITCH_DECLARE(switch_status) switch_core_session_write_frame(switch_core_sessio
session->read_codec->codec_interface->interface_name);
write_frame = NULL;
return status;
break;
}
if (session->read_resampler) {
@ -1672,13 +1669,12 @@ static void switch_core_standard_on_execute(switch_core_session *session)
static void switch_core_standard_on_loopback(switch_core_session *session)
{
switch_channel_state state;
switch_frame *frame;
int stream_id;
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Standard LOOPBACK\n");
while ((state = switch_channel_get_state(session->channel)) == CS_LOOPBACK) {
while (switch_channel_get_state(session->channel) == CS_LOOPBACK) {
for (stream_id = 0; stream_id < session->stream_count; stream_id++) {
if (switch_core_session_read_frame(session, &frame, -1, stream_id) == SWITCH_STATUS_SUCCESS) {
switch_core_session_write_frame(session, frame, -1, stream_id);
@ -1689,6 +1685,7 @@ static void switch_core_standard_on_loopback(switch_core_session *session)
static void switch_core_standard_on_transmit(switch_core_session *session)
{
assert(session != NULL);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Standard TRANSMIT\n");
}
@ -1754,7 +1751,6 @@ SWITCH_DECLARE(void) switch_core_session_run(switch_core_session *session)
break;
case CS_DONE:
continue;
break;
case CS_HANGUP: /* Deactivate and end the thread */
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "(%s) State HANGUP\n", switch_channel_get_name(session->channel));
if (!driver_state_handler->on_hangup ||
@ -2016,6 +2012,7 @@ SWITCH_DECLARE(switch_status) switch_core_hash_init(switch_hash **hash, switch_m
SWITCH_DECLARE(switch_status) switch_core_hash_destroy(switch_hash *hash)
{
assert(hash != NULL);
return SWITCH_STATUS_SUCCESS;
}
@ -2088,19 +2085,16 @@ SWITCH_DECLARE(void) switch_core_launch_thread(switch_thread_start_t func, void
static void *SWITCH_THREAD_FUNC switch_core_session_thread(switch_thread *thread, void *obj)
{
unsigned int id;
switch_core_session *session = obj;
session->thread = thread;
session->id = runtime.session_id++;
id = runtime.session_id++;
session->id = id;
snprintf(session->name, sizeof(session->name), "%ld", session->id);
snprintf(session->name, sizeof(session->name), "%u", session->id);
switch_core_hash_insert(runtime.session_table, session->uuid_str, session);
switch_core_session_run(session);
switch_core_hash_delete(runtime.session_table, session->uuid_str);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Session %ld (%s) Ended\n", id, switch_channel_get_name(session->channel));
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Session %u (%s) Ended\n", session->id, switch_channel_get_name(session->channel));
switch_core_session_destroy(&session);
return NULL;
}
@ -2135,7 +2129,7 @@ SWITCH_DECLARE(void) switch_core_session_launch_thread(switch_core_session *sess
}
SWITCH_DECLARE(void *) switch_core_alloc(switch_memory_pool *pool, size_t memory)
SWITCH_DECLARE(void *) switch_core_alloc(switch_memory_pool *pool, switch_size_t memory)
{
void *ptr = NULL;
assert(pool != NULL);
@ -2179,7 +2173,7 @@ SWITCH_DECLARE(switch_core_session *) switch_core_session_request(const switch_e
return NULL;
}
switch_channel_init(session->channel, session, CS_NEW, CF_SEND_AUDIO | CF_RECV_AUDIO);
switch_channel_init(session->channel, session, CS_NEW, (CF_SEND_AUDIO | CF_RECV_AUDIO));
/* The session *IS* the pool you may not alter it because you have no idea how
its all private it will be passed to the thread run function */
@ -2222,14 +2216,13 @@ SWITCH_DECLARE(switch_core_session *) switch_core_session_request_by_name(char *
static void core_event_handler(switch_event *event)
{
char buf[1024];
//char buf[1024];
switch (event->event_id) {
case SWITCH_EVENT_LOG:
return;
break;
default:
buf[0] = '\0';
//buf[0] = '\0';
//switch_event_serialize(event, buf, sizeof(buf), NULL);
//switch_console_printf(SWITCH_CHANNEL_CONSOLE, "\nCORE EVENT\n--------------------------------\n%s\n", buf);
break;
@ -2293,7 +2286,7 @@ SWITCH_DECLARE(switch_status) switch_core_init(char *console)
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Allocated memory pool. Sessions are %d bytes\n", sizeof(struct switch_core_session));
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Allocated memory pool. Sessions are %u bytes\n", sizeof(struct switch_core_session));
switch_event_init(runtime.memory_pool);
assert(runtime.memory_pool != NULL);

View File

@ -45,7 +45,7 @@ static switch_hash *CUSTOM_HASH = NULL;
static int THREAD_RUNNING = 0;
#if 0
static void *locked_alloc(size_t len)
static void *locked_alloc(switch_size_t len)
{
void *mem;
@ -146,6 +146,8 @@ static void *SWITCH_THREAD_FUNC switch_event_thread(switch_thread *thread, void
void *pop;
int i, len[3] = {0,0,0};
assert(thread != NULL);
assert(obj == NULL);
assert(POOL_LOCK != NULL);
assert(RUNTIME_POOL != NULL);
THREAD_RUNNING = 1;
@ -161,10 +163,12 @@ static void *SWITCH_THREAD_FUNC switch_event_thread(switch_thread *thread, void
) {
for(i = 0; i < 3; i++) {
queue = queues[i];
while (queue && switch_queue_trypop(queue, &pop) == SWITCH_STATUS_SUCCESS) {
out_event = pop;
switch_event_deliver(&out_event);
if (len[i]) {
queue = queues[i];
while (queue && switch_queue_trypop(queue, &pop) == SWITCH_STATUS_SUCCESS) {
out_event = pop;
switch_event_deliver(&out_event);
}
}
}
@ -361,7 +365,7 @@ SWITCH_DECLARE(switch_status) switch_event_add_header(switch_event *event, switc
header->name = DUP(header_name);
header->value = DUP(data);
if (((stack = SWITCH_STACK_TOP)) != 0) {
if (stack == SWITCH_STACK_TOP) {
header->next = event->headers;
event->headers = header;
} else {
@ -404,10 +408,9 @@ SWITCH_DECLARE(void) switch_event_destroy(switch_event **event)
for (hp = ep->headers; hp;) {
this = hp;
FREE(hp->name);
FREE(hp->value);
hp = hp->next;
FREE(this->name);
FREE(this->value);
}
FREE(ep->body);
FREE(ep);
@ -448,9 +451,9 @@ SWITCH_DECLARE(switch_status) switch_event_dup(switch_event **event, switch_even
return SWITCH_STATUS_SUCCESS;
}
SWITCH_DECLARE(switch_status) switch_event_serialize(switch_event *event, char *buf, size_t buflen, char *fmt, ...)
SWITCH_DECLARE(switch_status) switch_event_serialize(switch_event *event, char *buf, switch_size_t buflen, char *fmt, ...)
{
size_t len = 0;
switch_size_t len = 0;
switch_event_header *hp;
char *data = NULL, *body = NULL;
int ret = 0;
@ -507,7 +510,7 @@ SWITCH_DECLARE(switch_status) switch_event_fire_detailed(char *file, char *func,
switch_time_exp_t tm;
char date[80] = "";
size_t retsize;
switch_size_t retsize;
assert(BLOCK != NULL);
assert(RUNTIME_POOL != NULL);

View File

@ -200,7 +200,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_record_file(switch_core_session *sessio
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activated\n");
switch_core_session_set_read_codec(session, &codec);
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%dhz %d channels %dms\n",
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%uhz %u channels %dms\n",
codec_name, fh->samplerate, fh->channels, read_codec->implementation->microseconds_per_frame / 1000);
switch_core_file_close(fh);
return SWITCH_STATUS_GENERR;
@ -208,7 +208,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_record_file(switch_core_session *sessio
while(switch_channel_ready(channel)) {
size_t len;
switch_size_t len;
if (dtmf_callback || buf) {
/*
@ -234,7 +234,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_record_file(switch_core_session *sessio
break;
}
if (!switch_test_flag(fh, SWITCH_FILE_PAUSE)) {
len = (size_t) read_frame->datalen / 2;
len = (switch_size_t) read_frame->datalen / 2;
switch_core_file_write(fh, read_frame->data, &len);
}
}
@ -257,14 +257,13 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
short abuf[960];
char dtmf[128];
int interval = 0, samples = 0;
size_t len = 0, ilen = 0, olen = 0;
switch_size_t len = 0, ilen = 0, olen = 0;
switch_frame write_frame;
switch_timer timer;
switch_core_thread_session thread_session;
switch_codec codec;
switch_memory_pool *pool = switch_core_session_get_pool(session);
char *codec_name;
int x;
int stream_id;
switch_status status = SWITCH_STATUS_SUCCESS;
switch_file_handle lfh;
@ -290,7 +289,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
write_frame.buflen = sizeof(abuf);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "OPEN FILE %s %dhz %d channels\n", file, fh->samplerate, fh->channels);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "OPEN FILE %s %uhz %u channels\n", file, fh->samplerate, fh->channels);
interval = 20;
samples = (fh->samplerate / 50) * fh->channels;
@ -308,7 +307,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activated\n");
write_frame.codec = &codec;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%dhz %d channels %dms\n",
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%uhz %u channels %dms\n",
codec_name, fh->samplerate, fh->channels, interval);
switch_core_file_close(fh);
return SWITCH_STATUS_GENERR;
@ -321,7 +320,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
switch_core_file_close(fh);
return SWITCH_STATUS_GENERR;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "setup timer success %d bytes per %d ms!\n", len, interval);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "setup timer success %u bytes per %d ms!\n", len, interval);
}
write_frame.rate = fh->samplerate;
@ -389,9 +388,9 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
if (fh->speed && do_speed) {
float factor = 0.25f * abs(fh->speed);
size_t newlen, supplement, step;
switch_size_t newlen, supplement, step;
short *bp = write_frame.data;
size_t wrote = 0;
switch_size_t wrote = 0;
if (!fh->audio_buffer) {
switch_buffer_create(fh->memory_pool, &fh->audio_buffer, SWITCH_RECCOMMENDED_BUFFER_SIZE);
@ -418,7 +417,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
}
}
if (wrote < newlen) {
size_t r = newlen - wrote;
switch_size_t r = newlen - wrote;
switch_buffer_write(fh->audio_buffer, bp, r*2);
wrote += r;
}
@ -443,7 +442,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_play_file(switch_core_session *session,
}
}
if (timer_name) {
if ((x = switch_core_timer_next(&timer)) < 0) {
if (switch_core_timer_next(&timer) < 0) {
break;
}
} else { /* time off the channel (if you must) */
@ -475,7 +474,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
char *tts_name,
char *voice_name,
char *timer_name,
size_t rate,
switch_size_t rate,
switch_dtmf_callback_function dtmf_callback,
char *text,
void *buf,
@ -485,9 +484,9 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
short abuf[960];
char dtmf[128];
int interval = 0;
size_t samples = 0;
size_t len = 0;
size_t ilen = 0;
switch_size_t samples = 0;
switch_size_t len = 0;
switch_size_t ilen = 0;
switch_frame write_frame;
switch_timer timer;
switch_core_thread_session thread_session;
@ -501,7 +500,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
switch_status status = SWITCH_STATUS_SUCCESS;
switch_speech_handle sh;
switch_speech_flag flags = SWITCH_SPEECH_FLAG_TTS;
uint32_t flags = SWITCH_SPEECH_FLAG_TTS;
memset(&sh, 0, sizeof(sh));
@ -543,8 +542,8 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activated\n");
write_frame.codec = &codec;
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%dhz %d channels %dms\n",
codec_name, rate, 1, interval);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Raw Codec Activation Failed %s@%uhz 1 channel %dms\n",
codec_name, rate, interval);
flags = 0;
switch_core_speech_close(&sh, &flags);
return SWITCH_STATUS_GENERR;
@ -558,7 +557,7 @@ SWITCH_DECLARE(switch_status) switch_ivr_speak_text(switch_core_session *session
switch_core_speech_close(&sh, &flags);
return SWITCH_STATUS_GENERR;
}
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "setup timer success %d bytes per %d ms!\n", len, interval);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "setup timer success %u bytes per %d ms!\n", len, interval);
}
flags = 0;
@ -692,6 +691,7 @@ static void *audio_bridge_thread(switch_thread *thread, void *obj)
switch_dtmf_callback_function dtmf_callback;
void *user_data;
assert(thread != NULL);
switch_channel *chan_a, *chan_b;
switch_frame *read_frame;
switch_core_session *session_a, *session_b;
@ -700,7 +700,7 @@ static void *audio_bridge_thread(switch_thread *thread, void *obj)
session_b = data->objs[1];
stream_id_p = data->objs[2];
dtmf_callback = data->objs[3];
dtmf_callback = (switch_dtmf_callback_function) data->objs[3];
user_data = data->objs[4];
his_thread = data->objs[5];
@ -723,7 +723,6 @@ static void *audio_bridge_thread(switch_thread *thread, void *obj)
case CS_HANGUP:
data->running = -1;
continue;
break;
default:
break;
}
@ -762,7 +761,7 @@ static void *audio_bridge_thread(switch_thread *thread, void *obj)
if (switch_core_session_read_frame(session_a, &read_frame, -1, stream_id) == SWITCH_STATUS_SUCCESS
&& read_frame->datalen) {
if (switch_core_session_write_frame(session_b, read_frame, -1, stream_id) != SWITCH_STATUS_SUCCESS) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "write: %s Bad Frame....[%d] Bubye!\n", switch_channel_get_name(chan_b), read_frame->datalen);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "write: %s Bad Frame....[%u] Bubye!\n", switch_channel_get_name(chan_b), read_frame->datalen);
data->running = -1;
}
} else {

View File

@ -32,18 +32,26 @@
#include <switch.h>
typedef switch_status (*switch_module_load_t) (switch_loadable_module_interface **, char *);
typedef switch_status (*switch_module_reload_t) (void);
typedef switch_status (*switch_module_pause_t) (void);
typedef switch_status (*switch_module_resume_t) (void);
typedef switch_status (*switch_module_status_t) (void);
typedef switch_status (*switch_module_runtime_t) (void);
typedef switch_status (*switch_module_shutdown_t) (void);
struct switch_loadable_module {
char *filename;
const switch_loadable_module_interface *interface;
void *lib;
switch_status (*switch_module_load) (switch_loadable_module_interface **, char *);
switch_status (*switch_module_reload) (void);
switch_status (*switch_module_pause) (void);
switch_status (*switch_module_resume) (void);
switch_status (*switch_module_status) (void);
switch_status (*switch_module_runtime) (void);
switch_status (*switch_module_shutdown) (void);
switch_module_load_t switch_module_load;
switch_module_reload_t switch_module_reload;
switch_module_pause_t switch_module_pause;
switch_module_resume_t switch_module_resume;
switch_module_status_t switch_module_status;
switch_module_runtime_t switch_module_runtime;
switch_module_shutdown_t switch_module_shutdown;
};
struct switch_loadable_module_container {
@ -64,6 +72,9 @@ static struct switch_loadable_module_container loadable_modules;
static void *switch_loadable_module_exec(switch_thread *thread, void *obj)
{
assert(thread != NULL);
switch_status status = SWITCH_STATUS_SUCCESS;
switch_core_thread_session *ts = obj;
switch_loadable_module *module = ts->objs[0];
@ -85,6 +96,9 @@ static void *switch_loadable_module_exec(switch_thread *thread, void *obj)
return NULL;
}
typedef switch_status (*switch_load_fp_t)(switch_loadable_module_interface **, char *);
static switch_status switch_loadable_module_load_file(char *filename, switch_memory_pool *pool,
switch_loadable_module **new_module)
{
@ -92,7 +106,8 @@ static switch_status switch_loadable_module_load_file(char *filename, switch_mem
apr_dso_handle_t *dso = NULL;
apr_status_t status = SWITCH_STATUS_SUCCESS;
apr_dso_handle_sym_t function_handle = NULL;
switch_status (*load_func_ptr) (switch_loadable_module_interface **, char *) = NULL;
//switch_status (*load_func_ptr) (switch_loadable_module_interface **, char *) = NULL;
switch_load_fp_t load_func_ptr = NULL;
int loading = 1;
const char *err = NULL;
switch_loadable_module_interface *interface = NULL;
@ -111,7 +126,7 @@ static switch_status switch_loadable_module_load_file(char *filename, switch_mem
}
status = apr_dso_sym(&function_handle, dso, "switch_module_load");
load_func_ptr = function_handle;
load_func_ptr = (switch_load_fp_t) function_handle;
if (load_func_ptr == NULL) {
err = "Cannot Load";
@ -142,27 +157,27 @@ static switch_status switch_loadable_module_load_file(char *filename, switch_mem
module->switch_module_load = load_func_ptr;
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_reload")) == APR_SUCCESS) {
module->switch_module_reload = function_handle;
module->switch_module_reload = (switch_module_reload_t) function_handle;
}
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_pause")) == APR_SUCCESS) {
module->switch_module_pause = function_handle;
module->switch_module_pause = (switch_module_pause_t) function_handle;
}
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_resume")) == APR_SUCCESS) {
module->switch_module_resume = function_handle;
module->switch_module_resume = (switch_module_resume_t) function_handle;
}
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_status")) == APR_SUCCESS) {
module->switch_module_status = function_handle;
module->switch_module_status = (switch_module_status_t) function_handle;
}
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_shutdown")) == APR_SUCCESS) {
module->switch_module_shutdown = function_handle;
module->switch_module_shutdown = (switch_module_shutdown_t) function_handle;
}
if ((status = apr_dso_sym(&function_handle, dso, "switch_module_runtime")) == APR_SUCCESS) {
module->switch_module_runtime = function_handle;
module->switch_module_runtime = (switch_module_runtime_t) function_handle;
}
module->lib = dso;
@ -180,7 +195,7 @@ static switch_status switch_loadable_module_load_file(char *filename, switch_mem
static void process_module_file(char *dir, char *fname)
{
size_t len = 0;
switch_size_t len = 0;
char *path;
char *file;
switch_loadable_module *new_module = NULL;
@ -202,11 +217,15 @@ static void process_module_file(char *dir, char *fname)
path = switch_core_strdup(loadable_modules.pool, file);
} else {
if (strchr(file, '.')) {
len = strlen(dir) + strlen(file) + 4;
len = strlen(dir);
len += strlen(file);
len += 4;
path = (char *) switch_core_alloc(loadable_modules.pool, len);
snprintf(path, len, "%s%s%s", dir, SWITCH_PATH_SEPARATOR, file);
} else {
len = strlen(dir) + strlen(file) + 8;
len = strlen(dir);
len += strlen(file);
len += 8;
path = (char *) switch_core_alloc(loadable_modules.pool, len);
snprintf(path, len, "%s%s%s%s", dir, SWITCH_PATH_SEPARATOR, file, ext);
}
@ -330,7 +349,6 @@ static void switch_loadable_module_path_init()
SWITCH_DECLARE(switch_status) switch_loadable_module_init()
{
char *ptr = NULL;
apr_finfo_t finfo = {0};
apr_dir_t *module_dir_handle = NULL;
apr_int32_t finfo_flags = APR_FINFO_DIRENT | APR_FINFO_TYPE | APR_FINFO_NAME;
@ -424,7 +442,7 @@ SWITCH_DECLARE(switch_status) switch_loadable_module_init()
fname = finfo.name;
}
if ((ptr = (char *) fname) == 0) {
if (!fname) {
continue;
}
@ -451,10 +469,10 @@ SWITCH_DECLARE(void) switch_loadable_module_shutdown(void)
module = (switch_loadable_module *) val;
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Checking %s\t", module->interface->module_name);
if (module->switch_module_shutdown) {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "(yes)\n", module->interface->module_name);
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "(yes)\n");
module->switch_module_shutdown();
} else {
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "(no)\n", module->interface->module_name);
switch_console_printf(SWITCH_CHANNEL_CONSOLE_CLEAN, "(no)\n");
}
}
@ -524,7 +542,7 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs(switch_memory_pool *pool,
}
SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_memory_pool *pool, switch_codec_interface **array,
SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_codec_interface **array,
int arraylen, char **prefs, int preflen)
{
int x, i = 0;
@ -542,7 +560,7 @@ SWITCH_DECLARE(int) switch_loadable_module_get_codecs_sorted(switch_memory_pool
return i;
}
SWITCH_DECLARE(switch_status) switch_api_execute(char *cmd, char *arg, char *retbuf, size_t len)
SWITCH_DECLARE(switch_status) switch_api_execute(char *cmd, char *arg, char *retbuf, switch_size_t len)
{
switch_api_interface *api;
switch_status status;

View File

@ -1,58 +0,0 @@
/*
* FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
* Copyright (C) 2005/2006, Anthony Minessale II <anthmct@yahoo.com>
*
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application
*
* The Initial Developer of the Original Code is
* Anthony Minessale II <anthmct@yahoo.com>
* Portions created by the Initial Developer are Copyright (C)
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
*
* Anthony Minessale II <anthmct@yahoo.com>
*
*
* switch_mutex.c -- Mutex Locking
*
*/
#include <switch_mutex.h>
SWITCH_DECLARE(switch_status) switch_mutex_init(switch_mutex_t **lock, switch_lock_flag flags, switch_memory_pool *pool)
{
return (apr_thread_mutex_create(lock, flags, pool) == APR_SUCCESS) ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_GENERR;
}
SWITCH_DECLARE(switch_status) switch_mutex_destroy(switch_mutex_t *lock)
{
return apr_thread_mutex_destroy(lock);
}
SWITCH_DECLARE(switch_status) switch_mutex_lock(switch_mutex_t *lock)
{
return apr_thread_mutex_lock(lock);
}
SWITCH_DECLARE(switch_status) switch_mutex_unlock(switch_mutex_t *lock)
{
return apr_thread_mutex_unlock(lock);
}
SWITCH_DECLARE(switch_status) switch_mutex_trylock(switch_mutex_t *lock)
{
return apr_thread_mutex_trylock(lock);
}

View File

@ -48,10 +48,11 @@
SWITCH_DECLARE(switch_status) switch_resample_create(switch_audio_resampler **new_resampler,
int from_rate,
size_t from_size,
int to_rate, size_t to_size, switch_memory_pool *pool)
switch_size_t from_size,
int to_rate, switch_size_t to_size, switch_memory_pool *pool)
{
switch_audio_resampler *resampler;
double lto_rate, lfrom_rate;
if ((resampler = switch_core_alloc(pool, sizeof(*resampler))) == 0) {
return SWITCH_STATUS_MEMERR;
@ -59,7 +60,9 @@ SWITCH_DECLARE(switch_status) switch_resample_create(switch_audio_resampler **ne
resampler->from_rate = from_rate;
resampler->to_rate = to_rate;
resampler->factor = ((double) resampler->to_rate / (double) resampler->from_rate);
lto_rate = (double) resampler->to_rate;
lfrom_rate = (double) resampler->from_rate;
resampler->factor = (lto_rate / lfrom_rate);
resampler->resampler = resample_open(QUALITY, resampler->factor, resampler->factor);
switch_console_printf(SWITCH_CHANNEL_CONSOLE, "Activate Resampler %d->%d %f\n", resampler->from_rate,
@ -103,9 +106,9 @@ SWITCH_DECLARE(void) switch_resample_destroy(switch_audio_resampler *resampler)
}
SWITCH_DECLARE(size_t) switch_float_to_short(float *f, short *s, size_t len)
SWITCH_DECLARE(switch_size_t) switch_float_to_short(float *f, short *s, switch_size_t len)
{
size_t i;
switch_size_t i;
float ft;
for (i = 0; i < len; i++) {
ft = f[i] * NORMFACT;

View File

@ -36,16 +36,12 @@ SWITCH_DECLARE(char *) switch_priority_name(switch_priority_t priority)
switch(priority) { /*lol*/
case SWITCH_PRIORITY_NORMAL:
return "NORMAL";
break;
case SWITCH_PRIORITY_LOW:
return "LOW";
break;
case SWITCH_PRIORITY_HIGH:
return "HIGH";
break;
default:
return "INVALID";
break;
}
}
@ -53,19 +49,24 @@ static char RFC2833_CHARS[] = "0123456789*#ABCDF";
SWITCH_DECLARE(char) switch_rfc2833_to_char(int event)
{
return (event > -1 && event < sizeof(RFC2833_CHARS)) ? RFC2833_CHARS[event] : '\0';
if (event > -1 && event < sizeof(RFC2833_CHARS)) {
return RFC2833_CHARS[event];
}
return '\0';
}
SWITCH_DECLARE(unsigned char) switch_char_to_rfc2833(char key)
{
char *c;
unsigned char counter = 0;
for (c = RFC2833_CHARS; *c ; c++) {
if (*c == key) {
return (unsigned char)(c - RFC2833_CHARS);
return counter;
}
}
return (unsigned char)-1;
counter++;
}
return '\0';
}
SWITCH_DECLARE(unsigned int) switch_separate_string(char *buf, char delim, char **array, int arraylen)
@ -123,10 +124,9 @@ SWITCH_DECLARE(switch_status) switch_socket_create_pollfd(switch_pollfd_t *poll,
switch_int16_t flags, switch_memory_pool *pool)
{
switch_pollset_t *pollset;
switch_status status;
if ((status = switch_pollset_create(&pollset, 1, pool, flags)) != SWITCH_STATUS_SUCCESS) {
return status;
if (switch_pollset_create(&pollset, 1, pool, flags) != SWITCH_STATUS_SUCCESS) {
return SWITCH_STATUS_GENERR;
}
poll->desc_type = SWITCH_POLL_SOCKET;
@ -134,16 +134,19 @@ SWITCH_DECLARE(switch_status) switch_socket_create_pollfd(switch_pollfd_t *poll,
poll->desc.s = sock;
poll->client_data = sock;
return switch_pollset_add(pollset, poll);
if (switch_pollset_add(pollset, poll) != SWITCH_STATUS_SUCCESS) {
return SWITCH_STATUS_GENERR;
}
return SWITCH_STATUS_SUCCESS;
}
SWITCH_DECLARE(int) switch_socket_waitfor(switch_pollfd_t *poll, int ms)
{
switch_status status;
int nsds = 0;
if ((status = switch_poll(poll, 1, &nsds, ms)) != SWITCH_STATUS_SUCCESS) {
if (switch_poll(poll, 1, &nsds, ms) != SWITCH_STATUS_SUCCESS) {
return -1;
}