diff --git a/console/linphonec.c b/console/linphonec.c index b8072e325..ff16e1387 100644 --- a/console/linphonec.c +++ b/console/linphonec.c @@ -747,7 +747,7 @@ linphonec_init(int argc, char **argv) linphone_core_enable_video_display(linphonec, display_enabled); if (display_enabled && window_id != 0) { - printf ("Setting window_id: 0x%x\n", window_id); + printf("Setting window_id: 0x%x\n", window_id); linphone_core_set_native_video_window_id(linphonec,window_id); } diff --git a/coreapi/CMakeLists.txt b/coreapi/CMakeLists.txt index ff39dfb41..2be82be73 100644 --- a/coreapi/CMakeLists.txt +++ b/coreapi/CMakeLists.txt @@ -145,3 +145,5 @@ install(FILES ${HEADER_FILES} DESTINATION include/linphone PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ ) + +add_subdirectory(help) diff --git a/coreapi/Makefile.am b/coreapi/Makefile.am index 03d42f08d..5b4460c79 100644 --- a/coreapi/Makefile.am +++ b/coreapi/Makefile.am @@ -8,9 +8,8 @@ GITREVISION=`cd $(top_srcdir) && git rev-parse HEAD` ## This command is used to check if the sources are cloned in a git repo. ## We can't only depend on the presence of the .git/ directory anymore, ## because of gits submodule handling. -## We now simply issue a git status and if there's an error, the $(GITSTATUS) -## variable won't contain "GITOK" -GITSTATUS=`cd $(top_srcdir) && git status > /dev/null && echo GITOK` +## We now simply issue a git log on configure.ac and if the output is empty (error or file not tracked), then we are not in git. +GITLOG=$(shell git log -1 $(top_srcdir)/configure.ac) ECHO=/bin/echo @@ -168,7 +167,7 @@ AM_CXXFLAGS=$(AM_CFLAGS) #the PACKAGE_VERSION given in configure.ac make_gitversion_h: - if test "$(GITSTATUS)" == "GITOK" ; then \ + if test -n "$(GITLOG)" ; then \ if test "$(GITDESCRIBE)" != "" ; then \ if test "$(GIT_TAG)" != "$(PACKAGE_VERSION)" ; then \ echo "*** PACKAGE_VERSION and git tag differ. Please put them identical."; \ diff --git a/coreapi/help/CMakeLists.txt b/coreapi/help/CMakeLists.txt new file mode 100644 index 000000000..8f7b9b125 --- /dev/null +++ b/coreapi/help/CMakeLists.txt @@ -0,0 +1,37 @@ +############################################################################ +# CMakeLists.txt +# Copyright (C) 2014 Belledonne Communications, Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ + +find_package(Doxygen) + +if(DOXYGEN_FOUND) + if(DOXYGEN_DOT_FOUND) + set(top_srcdir ${CMAKE_SOURCE_DIR}) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) + add_custom_target(doc ALL + ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/html" "${CMAKE_CURRENT_BINARY_DIR}/doc/xml" + DESTINATION "${CMAKE_INSTALL_PREFIX}/share/doc/linphone-${LINPHONE_VERSION}") + else() + message(WARNING "The dot program is needed to generate the linphone documentation. You can get it from http://www.graphviz.org/.") + endif() +endif() diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index a3d618e96..e2c21e90a 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -64,6 +64,7 @@ static const char *liblinphone_version= LIBLINPHONE_VERSION #endif ; +static bool_t liblinphone_serialize_logs = FALSE; static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t curtime); static void linphone_core_run_hooks(LinphoneCore *lc); static void linphone_core_free_hooks(LinphoneCore *lc); @@ -480,11 +481,15 @@ void linphone_core_enable_logs_with_cb(OrtpLogFunc logfunc){ * @ingroup misc * @deprecated Use #linphone_core_set_log_level instead. **/ -void linphone_core_disable_logs(){ +void linphone_core_disable_logs(void){ ortp_set_log_level_mask(ORTP_ERROR|ORTP_FATAL); sal_disable_logs(); } +void linphone_core_serialize_logs(void) { + liblinphone_serialize_logs = TRUE; +} + static void net_config_read (LinphoneCore *lc) { @@ -1331,7 +1336,9 @@ static void linphone_core_init(LinphoneCore * lc, const LinphoneCoreVTable *vtab linphone_core_set_state(lc,LinphoneGlobalStartup,"Starting up"); ortp_init(); - ortp_set_log_thread_id(ortp_thread_self()); + if (liblinphone_serialize_logs == TRUE) { + ortp_set_log_thread_id(ortp_thread_self()); + } lc->dyn_pt=96; lc->default_profile=rtp_profile_new("default profile"); linphone_core_assign_payload_type(lc,&payload_type_pcmu8000,0,NULL); @@ -2397,7 +2404,9 @@ void linphone_core_iterate(LinphoneCore *lc){ } } - ortp_logv_flush(); + if (liblinphone_serialize_logs == TRUE) { + ortp_logv_flush(); + } } /** @@ -6038,7 +6047,9 @@ static void linphone_core_uninit(LinphoneCore *lc) linphone_core_message_storage_close(lc); ms_exit(); linphone_core_set_state(lc,LinphoneGlobalOff,"Off"); - ortp_set_log_thread_id(0); + if (liblinphone_serialize_logs == TRUE) { + ortp_set_log_thread_id(0); + } } static void set_network_reachable(LinphoneCore* lc,bool_t isReachable, time_t curtime){ diff --git a/coreapi/linphonecore.h b/coreapi/linphonecore.h index 5e842ac59..9fdb864df 100644 --- a/coreapi/linphonecore.h +++ b/coreapi/linphonecore.h @@ -1674,6 +1674,14 @@ LINPHONE_PUBLIC void linphone_core_set_log_level(OrtpLogLevel loglevel); LINPHONE_PUBLIC void linphone_core_enable_logs(FILE *file); LINPHONE_PUBLIC void linphone_core_enable_logs_with_cb(OrtpLogFunc logfunc); LINPHONE_PUBLIC void linphone_core_disable_logs(void); + +/** + * Enable logs serialization (output logs from either the thread that creates the linphone core or the thread that calls linphone_core_iterate()). + * Must be called before creating the linphone core. + * @ingroup misc + */ +LINPHONE_PUBLIC void linphone_core_serialize_logs(void); + LINPHONE_PUBLIC const char *linphone_core_get_version(void); LINPHONE_PUBLIC const char *linphone_core_get_user_agent(LinphoneCore *lc); /** diff --git a/mediastreamer2 b/mediastreamer2 index 70a029a00..932964c57 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit 70a029a00f2b7272d8c790557e71ff8b73004b85 +Subproject commit 932964c57f0fc8d7690334dae59ab70b455bf466 diff --git a/oRTP b/oRTP index fc8d8457e..dfb505d71 160000 --- a/oRTP +++ b/oRTP @@ -1 +1 @@ -Subproject commit fc8d8457eb630907eff50333ddf5243b448fe733 +Subproject commit dfb505d7198dc8be59919c8c6d68add302a98fd3