From b9e033535be0e6288968de2800345b577f8f8ee0 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 16 Mar 2007 17:19:44 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4616 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_private.h.in | 3 - src/mod/Makefile.in | 57 ++++--------------- .../mod_conference/mod_conference.c | 25 ++++---- src/mod/formats/mod_shout/mod_shout.c | 26 ++++++++- 4 files changed, 47 insertions(+), 64 deletions(-) diff --git a/src/include/switch_private.h.in b/src/include/switch_private.h.in index 07dd146b40..a61eded2a4 100644 --- a/src/include/switch_private.h.in +++ b/src/include/switch_private.h.in @@ -7,9 +7,6 @@ */ #undef HAVE_DIRENT_H -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - /* Define to 1 if you have the `gethostname' function. */ #undef HAVE_GETHOSTNAME diff --git a/src/mod/Makefile.in b/src/mod/Makefile.in index 456bd66a2e..1a8c74aeef 100644 --- a/src/mod/Makefile.in +++ b/src/mod/Makefile.in @@ -33,8 +33,6 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ subdir = src/mod DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 @@ -60,7 +58,6 @@ ACLOCAL = @ACLOCAL@ AMDEP_FALSE = @AMDEP_FALSE@ AMDEP_TRUE = @AMDEP_TRUE@ AMTAR = @AMTAR@ -AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ @@ -73,22 +70,15 @@ CPPFLAGS = @CPPFLAGS@ CRASHPROT_FALSE = @CRASHPROT_FALSE@ CRASHPROT_TRUE = @CRASHPROT_TRUE@ CURL = @CURL@ -CXX = @CXX@ -CXXCPP = @CXXCPP@ -CXXDEPMODE = @CXXDEPMODE@ -CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DYNAMIC_LIB_EXTEN = @DYNAMIC_LIB_EXTEN@ -ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ -F77 = @F77@ -FFLAGS = @FFLAGS@ GETLIB = @GETLIB@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ @@ -106,8 +96,6 @@ LIBCURL_CPPFLAGS = @LIBCURL_CPPFLAGS@ LIBCURL_DEPS = @LIBCURL_DEPS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ OBJEXT = @OBJEXT@ @@ -119,7 +107,6 @@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PRTDIAG = @PRTDIAG@ -RANLIB = @RANLIB@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ SOLINK = @SOLINK@ @@ -134,34 +121,20 @@ WANT_DEBUG_TRUE = @WANT_DEBUG_TRUE@ WGET = @WGET@ ZCAT = @ZCAT@ _libcurl_config = @_libcurl_config@ -ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ -ac_ct_CXX = @ac_ct_CXX@ -ac_ct_F77 = @ac_ct_F77@ -ac_ct_RANLIB = @ac_ct_RANLIB@ ac_ct_STRIP = @ac_ct_STRIP@ am__fastdepCC_FALSE = @am__fastdepCC_FALSE@ am__fastdepCC_TRUE = @am__fastdepCC_TRUE@ -am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@ -am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ -build = @build@ build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ datadir = @datadir@ exec_prefix = @exec_prefix@ -host = @host@ host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ @@ -230,15 +203,6 @@ $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool uninstall-info-am: tags: TAGS TAGS: @@ -300,11 +264,11 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -clean-am: clean-generic clean-libtool mostlyclean-am +clean-am: clean-generic mostlyclean-am distclean: distclean-am -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-libtool +distclean-am: clean-am distclean-generic dvi: dvi-am @@ -332,7 +296,7 @@ maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am -mostlyclean-am: mostlyclean-generic mostlyclean-libtool +mostlyclean-am: mostlyclean-generic pdf: pdf-am @@ -344,14 +308,13 @@ ps-am: uninstall-am: uninstall-info-am -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - distclean distclean-generic distclean-libtool distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-exec install-exec-am \ - install-info install-info-am install-man install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \ +.PHONY: all all-am check check-am clean clean-generic distclean \ + distclean-generic distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-exec \ + install-exec-am install-info install-info-am install-man \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-generic pdf pdf-am ps ps-am uninstall uninstall-am \ uninstall-info-am diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index e0fe0ced13..2f9322e217 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -731,7 +731,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v } /* If a file or speech event is being played */ if (conference->fnode) { - switch_mutex_lock(conference->mutex); /* Lead in time */ if (conference->fnode->leadin) { conference->fnode->leadin--; @@ -759,8 +758,6 @@ static void *SWITCH_THREAD_FUNC conference_thread_run(switch_thread_t *thread, v } } has_file_data = 1; - - switch_mutex_unlock(conference->mutex); } else { has_file_data = 0; } @@ -1751,16 +1748,9 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th return NULL; } - if (switch_core_timer_init(&timer, conference->timer_name, conference->interval, samples, rec->pool) == SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "setup timer success interval: %u samples: %u\n", conference->interval, samples); - } else { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Timer Setup Failed. Conference Cannot Start\n"); - return NULL; - } - switch_mutex_lock(globals.hash_mutex); globals.threads++; - switch_mutex_unlock(globals.hash_mutex); + switch_mutex_unlock(globals.hash_mutex); member = &smember; @@ -1805,11 +1795,21 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th goto end; } + + if (switch_core_timer_init(&timer, conference->timer_name, conference->interval, samples, rec->pool) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "setup timer success interval: %u samples: %u\n", conference->interval, samples); + } else { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Timer Setup Failed. Conference Cannot Start\n"); + goto end; + } + if ((vval = switch_mprintf("Conference %s", conference->name))) { switch_core_file_set_string(&fh, SWITCH_AUDIO_COL_STR_TITLE, vval); switch_safe_free(vval); } + switch_core_file_set_string(&fh, SWITCH_AUDIO_COL_STR_ARTIST, "FreeSWITCH mod_conference Software Conference Module"); + while(switch_test_flag(member, MFLAG_RUNNING) && switch_test_flag(conference, CFLAG_RUNNING) && conference->count) { mux_used = (uint32_t) switch_buffer_inuse(member->mux_buffer); @@ -1832,7 +1832,8 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th if (!switch_test_flag((&fh), SWITCH_FILE_PAUSE)) { switch_size_t len = (switch_size_t) rlen / sizeof(int16_t); if (switch_core_file_write(&fh, data, &len) != SWITCH_STATUS_SUCCESS) { - goto end; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Write Failed\n"); + switch_clear_flag_locked(member, MFLAG_RUNNING); } } } diff --git a/src/mod/formats/mod_shout/mod_shout.c b/src/mod/formats/mod_shout/mod_shout.c index 54a3034a7f..ba73e0a0a5 100644 --- a/src/mod/formats/mod_shout/mod_shout.c +++ b/src/mod/formats/mod_shout/mod_shout.c @@ -530,8 +530,9 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, char *path) { shout_context_t *context; char *host, *file; - char *username, *password; + char *username, *password, *port; char *err = NULL; + int portno = 0; if ((context = switch_core_alloc(handle->memory_pool, sizeof(*context))) == 0) { return SWITCH_STATUS_MEMERR; @@ -610,6 +611,17 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, char *path) goto error; } + if ((port = strchr(host, ':'))) { + *port++ = '\0'; + if (port) { + portno = atoi(port); + } + } + + if (!portno) { + portno = 8000; + } + if (!(context->shout = shout_new())) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate shout_t\n"); goto error; @@ -625,7 +637,7 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, char *path) goto error; } - if (shout_set_port(context->shout, 8000) != SHOUTERR_SUCCESS) { + if (shout_set_port(context->shout, portno) != SHOUTERR_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error setting port: %s\n", shout_get_error(context->shout)); goto error; } @@ -650,6 +662,11 @@ static switch_status_t shout_file_open(switch_file_handle_t *handle, char *path) goto error; } + if (shout_set_description(context->shout, "FreeSWITCH mod_shout Broadcasting Module") != SHOUTERR_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error setting name: %s\n", shout_get_error(context->shout)); + goto error; + } + if (shout_set_audio_info(context->shout, "bitrate", "64000") != SHOUTERR_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error setting user: %s\n", shout_get_error(context->shout)); goto error; @@ -818,6 +835,11 @@ static switch_status_t shout_file_set_string(switch_file_handle_t *handle, switc switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error setting name: %s\n", shout_get_error(context->shout)); } break; + case SWITCH_AUDIO_COL_STR_ARTIST: + if (shout_set_description(context->shout, string) != SHOUTERR_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error setting name: %s\n", shout_get_error(context->shout)); + } + break; default: switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Value Ignored\n"); break;