Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ortp for openSUSE:Factory checked in at 2021-10-18 22:03:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ortp (Old) and /work/SRC/openSUSE:Factory/.ortp.new.1890 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ortp" Mon Oct 18 22:03:27 2021 rev:30 rq:925346 version:5.0.35 Changes: -------- --- /work/SRC/openSUSE:Factory/ortp/ortp.changes 2021-07-18 23:45:08.686955761 +0200 +++ /work/SRC/openSUSE:Factory/.ortp.new.1890/ortp.changes 2021-10-18 22:03:30.658150813 +0200 @@ -1,0 +2,6 @@ +Fri Oct 15 05:43:04 UTC 2021 - Paolo Stivanin <i...@paolostivanin.com> + +- Update to 5.0.35: + * no changelog + +------------------------------------------------------------------- Old: ---- ortp-5.0.0.tar.gz New: ---- ortp-5.0.35.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ortp.spec ++++++ --- /var/tmp/diff_new_pack.Lvbaqe/_old 2021-10-18 22:03:31.190151198 +0200 +++ /var/tmp/diff_new_pack.Lvbaqe/_new 2021-10-18 22:03:31.194151200 +0200 @@ -20,7 +20,7 @@ %define soname libortp %define sover 15 Name: ortp -Version: 5.0.0 +Version: 5.0.35 Release: 0 Summary: Real-time Transport Protocol Stack License: GPL-2.0-or-later @@ -64,31 +64,32 @@ %autosetup -p1 %build -%cmake -DENABLE_STATIC=OFF -%make_build +%cmake \ + -DCMAKE_INSTALL_PREFIX=%{_prefix} \ + -DCMAKE_INSTALL_LIBDIR=%{_libdir} \ + -DENABLE_STATIC=OFF +%cmake_build %install %cmake_install -mkdir -p %{buildroot}%{_docdir}/%{name}/ +mkdir -p %{buildroot}%{_docdir} # manually keeping the version here because upstream doesn't (usually) update the patch version -mv -T %{buildroot}%{_datadir}/doc/%{name}-5.0.0/ \ - %{buildroot}%{_docdir}/%{name}/ +mv %{buildroot}%{_datadir}/doc/%{name}-5.0.0 %{buildroot}%{_docdir}/%{name} -mv %{buildroot}%{_datadir}/doc/%{name}-./LICENSE.txt %{buildroot}%{_docdir}/%{name}/ -mv %{buildroot}%{_datadir}/doc/%{name}-./AUTHORS.md %{buildroot}%{_docdir}/%{name}/ -mv %{buildroot}%{_datadir}/doc/%{name}-./README.md %{buildroot}%{_docdir}/%{name}/ -mv %{buildroot}%{_datadir}/doc/%{name}-./CHANGELOG.md %{buildroot}%{_docdir}/%{name}/ +# for some reason, pkgconfig file contains wrong libdir +sed -i "s,-L/usr/lib,-L%{_libdir}," %{buildroot}/%{_libdir}/pkgconfig/%{name}.pc %post -n %{soname}%{sover} -p /sbin/ldconfig %postun -n %{soname}%{sover} -p /sbin/ldconfig %files -%doc %{_docdir}/%{name}/ +%dir %{_docdir}/%{name} %license %{_docdir}/%{name}/LICENSE.txt -%{_docdir}/%{name}/README.md -%{_docdir}/%{name}/CHANGELOG.md -%{_docdir}/%{name}/AUTHORS.md +%doc %{_docdir}/%{name}/html +%doc %{_docdir}/%{name}/README.md +%doc %{_docdir}/%{name}/CHANGELOG.md +%doc %{_docdir}/%{name}/AUTHORS.md %files -n %{soname}%{sover} %{_libdir}/%{soname}.so.%{sover}* ++++++ ortp-5.0.0.tar.gz -> ortp-5.0.35.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/CMakeLists.txt new/ortp-5.0.35/CMakeLists.txt --- old/ortp-5.0.0/CMakeLists.txt 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/CMakeLists.txt 2021-10-04 16:11:09.000000000 +0200 @@ -1,240 +1,250 @@ -############################################################################ -# CMakeLists.txt -# Copyright (C) 2010-2019 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -# -############################################################################ - -cmake_minimum_required(VERSION 3.1) -project(oRTP VERSION 5.0.0) - - -set(ORTP_MAJOR_VERSION ${PROJECT_VERSION_MAJOR}) -set(ORTP_MINOR_VERSION ${PROJECT_VERSION_MINOR}) -set(ORTP_MICRO_VERSION ${PROJECT_VERSION_PATCH}) -set(ORTP_VERSION ${PROJECT_VERSION}) -set(ORTP_SO_VERSION "15") # incremented for 4.4.0 version. -set(ORTP_DOC_VERSION "${ORTP_VERSION_MAJOR}.${ORTP_VERSION_MINOR}") - - -option(ENABLE_SHARED "Build shared library." YES) -option(ENABLE_STATIC "Build static library." YES) -option(ENABLE_DOC "Enable documentation generation with Doxygen." YES) -option(ENABLE_NTP_TIMESTAMP "Turn on NTP timestamping on packet reception." NO) -option(ENABLE_PERF "Disable costly features to reduce cpu consumtion and increase performance." NO) -option(ENABLE_STRICT "Build with strict compile options." YES) -option(ENABLE_TESTS "Enable compilation of test programs." NO) -option(ENABLE_DEBUG_LOGS "Turn on or off debug level logs." NO) -option(ENABLE_PACKAGE_SOURCE "Create 'package_source' target for source archive making (CMake >= 3.11)" OFF) -set(WITH_THREAD_STACK_SIZE "0" CACHE STRING "Set thread stack size (0 is the OS default).") - - -include(CheckIncludeFile) -include(CheckFunctionExists) -include(GNUInstallDirs) -include(CheckCSourceCompiles) -include(CheckSymbolExists) - -if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX) - set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) - message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}") -endif() - -set(MSVC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/MSVC") -if(MSVC) - list(APPEND CMAKE_REQUIRED_INCLUDES "${MSVC_INCLUDE_DIR}") -endif() - -find_package(Threads) -find_library(LIBM NAMES m) - -find_package(bctoolbox 0.2.0 REQUIRED) - -check_include_file(sys/uio.h HAVE_SYS_UIO_H) -check_include_file(sys/audio.h HAVE_SYS_AUDIO_H) -if(NOT ANDROID) - check_include_file(sys/shm.h HAVE_SYS_SHM_H) -endif() -check_c_source_compiles("#include <stdatomic.h> -int main(int argc, char *argv[]) { -atomic_int currrent_ref; -atomic_init(&currrent_ref, 1); -atomic_int previous_ref = atomic_fetch_sub_explicit(&currrent_ref, 1, memory_order_release); -return 0; -}" - HAVE_STDATOMIC_H) - -check_function_exists(arc4random HAVE_ARC4RANDOM) -check_symbol_exists(recvmsg "sys/socket.h" HAVE_RECVMSG) -check_symbol_exists(sendmsg "sys/socket.h" HAVE_SENDMSG) - -include(TestBigEndian) -test_big_endian(WORDS_BIGENDIAN) -if(WORDS_BIGENDIAN) - set(ORTP_BIGENDIAN 1) -endif() - - -include_directories( - include/ - src/ - ${CMAKE_CURRENT_BINARY_DIR} -) -if(MSVC) - include_directories(${MSVC_INCLUDE_DIR}) -endif() - - -set(ORTP_CPPFLAGS ${BCTOOLBOX_CPPFLAGS}) -if(ENABLE_STATIC) - list(APPEND ORTP_CPPFLAGS "-DORTP_STATIC") -endif() -if(ENABLE_PERF) - set(PERF 1) -endif() -if(ENABLE_NTP_TIMESTAMP) - set(ORTP_TIMESTAMP 1) - list(APPEND ORTP_CPPFLAGS "-DORTP_TIMESTAMP") -endif() -if(ENABLE_DEBUG_LOGS) - set(ORTP_DEBUG_MODE 1) -endif() -if(CMAKE_USE_PTHREADS_INIT) - set(ORTP_DEFAULT_THREAD_STACK_SIZE ${WITH_THREAD_STACK_SIZE}) -endif() -if(APPLE) - set(__APPLE_USE_RFC_3542 1) -endif() -if(ORTP_CPPFLAGS) - add_definitions(${ORTP_CPPFLAGS}) -endif() -set(POSIXTIMER_INTERVAL 10000) -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/ortp-config.h) -set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/ortp-config.h PROPERTIES GENERATED ON) -add_definitions(-DHAVE_CONFIG_H) - -# Enable stdint.h limit macros on C++ files. (Windows only.) -if(MSVC) - add_definitions("-D__STDC_LIMIT_MACROS") -endif() - -set(STRICT_OPTIONS_CPP ) -set(STRICT_OPTIONS_C ) -if(MSVC) - if(ENABLE_STRICT) - list(APPEND STRICT_OPTIONS_CPP "/WX") - endif() - add_definitions(-D_CRT_SECURE_NO_WARNINGS) -else() - list(APPEND STRICT_OPTIONS_CPP "-Wall" "-Wuninitialized") - list(APPEND STRICT_OPTIONS_C "-Wdeclaration-after-statement" "-Wstrict-prototypes" "-Wno-error=strict-prototypes") - if(CMAKE_C_COMPILER_ID MATCHES "Clang") - list(APPEND STRICT_OPTIONS_CPP "-Qunused-arguments" "-Wno-array-bounds") - endif() - if(APPLE) - list(APPEND STRICT_OPTIONS_CPP "-Wno-error=unknown-warning-option" "-Qunused-arguments" "-Wno-tautological-compare" "-Wno-unused-function" "-Wno-array-bounds") - endif() - if(ENABLE_STRICT) - list(APPEND STRICT_OPTIONS_CPP "-Werror" "-Wextra" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-fno-strict-aliasing") - endif() -endif() -if(STRICT_OPTIONS_CPP) - list(REMOVE_DUPLICATES STRICT_OPTIONS_CPP) -endif() -if(STRICT_OPTIONS_C) - list(REMOVE_DUPLICATES STRICT_OPTIONS_C) -endif() - -set(EXPORT_TARGET_NAME ortp) - -add_subdirectory(include) -add_subdirectory(src) - - -if(ENABLE_DOC) - find_package(Doxygen) - if(DOXYGEN_FOUND) - set(srcdir ${CMAKE_CURRENT_SOURCE_DIR}) - configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp.doxygen.in ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen) - file(GLOB DOC_INPUT_FILES - include/ortp/[^.]*.h - src/[^.]*.h - src/[^.]*.c - ) - add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html" - COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen - DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen ${DOC_INPUT_FILES} - ) - add_custom_target(ortp-html-doc ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html") - install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/html" - DESTINATION "${CMAKE_INSTALL_DATADIR}/doc/ortp-${ORTP_VERSION}") - endif() -endif() - - - - -set(prefix ${CMAKE_INSTALL_PREFIX}) -set(exec_prefix ${prefix}/bin) -set(libdir ${prefix}/lib) -set(includedir ${prefix}/include) -set(ORTP_PKGCONFIG_VERSION "${ORTP_VERSION}") -set(ORTPDEPS_LIBS ) - -configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/ortp.pc) -install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ortp.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") - -if (ENABLE_PACKAGE_SOURCE) - add_subdirectory(build) -endif() - -include(CMakePackageConfigHelpers) - -set(CONFIG_PACKAGE_LOCATION "${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_TARGET_NAME}") - -write_basic_package_version_file( - "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}ConfigVersion.cmake" - VERSION ${ORTP_VERSION} - COMPATIBILITY AnyNewerVersion -) -export(EXPORT "${EXPORT_TARGET_NAME}Targets" - FILE "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Targets.cmake" -) - -configure_package_config_file(ORTPConfig.cmake.in - "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Config.cmake" - INSTALL_DESTINATION ${CONFIG_PACKAGE_LOCATION} - NO_SET_AND_CHECK_MACRO -) - -install(EXPORT ${EXPORT_TARGET_NAME}Targets - FILE "${EXPORT_TARGET_NAME}Targets.cmake" - DESTINATION ${CONFIG_PACKAGE_LOCATION} -) - -install(FILES - "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Config.cmake" - "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}ConfigVersion.cmake" - DESTINATION ${CONFIG_PACKAGE_LOCATION} -) -install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md" - "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md" - "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt" - "${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.md" - DESTINATION "${CMAKE_INSTALL_DATADIR}/doc/ortp-${ORTP_DOC_VERSION}" -) +############################################################################ +# CMakeLists.txt +# Copyright (C) 2010-2021 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +# +############################################################################ + +# CMake 3.13 required for new Flexisip build process. +# See [CMP077](https://cmake.org/cmake/help/v3.13/policy/CMP0077.html). +cmake_minimum_required(VERSION 3.13) +project(oRTP VERSION 5.0.0) + + +set(ORTP_MAJOR_VERSION ${PROJECT_VERSION_MAJOR}) +set(ORTP_MINOR_VERSION ${PROJECT_VERSION_MINOR}) +set(ORTP_MICRO_VERSION ${PROJECT_VERSION_PATCH}) +set(ORTP_VERSION ${PROJECT_VERSION}) +set(ORTP_SO_VERSION "15") # incremented for 4.4.0 version. +set(ORTP_DOC_VERSION "${ORTP_VERSION_MAJOR}.${ORTP_VERSION_MINOR}") + + +option(ENABLE_SHARED "Build shared library." YES) +option(ENABLE_STATIC "Build static library." YES) +option(ENABLE_DOC "Enable documentation generation with Doxygen." YES) +option(ENABLE_NTP_TIMESTAMP "Turn on NTP timestamping on packet reception." NO) +option(ENABLE_PERF "Disable costly features to reduce cpu consumtion and increase performance." NO) +option(ENABLE_STRICT "Build with strict compile options." YES) +option(ENABLE_TESTS "Enable compilation of test programs." NO) +option(ENABLE_DEBUG_LOGS "Turn on or off debug level logs." NO) +option(ENABLE_PACKAGE_SOURCE "Create 'package_source' target for source archive making (CMake >= 3.11)" OFF) +set(WITH_THREAD_STACK_SIZE "0" CACHE STRING "Set thread stack size (0 is the OS default).") + + +# Hidden non-cache options: +# * DISABLE_BC_PACKAGE_SEARCH: skip find_package() for every BC package (bctoolbox, ortp, etc.) + + +include(CheckIncludeFile) +include(CheckFunctionExists) +include(GNUInstallDirs) +include(CheckCSourceCompiles) +include(CheckSymbolExists) + +if(NOT CMAKE_INSTALL_RPATH AND CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) + message(STATUS "Setting install rpath to ${CMAKE_INSTALL_RPATH}") +endif() + +set(MSVC_INCLUDE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/MSVC") +if(MSVC) + list(APPEND CMAKE_REQUIRED_INCLUDES "${MSVC_INCLUDE_DIR}") +endif() + +find_package(Threads) +find_library(LIBM NAMES m) + +if(NOT DISABLE_BC_PACKAGE_SEARCH) + find_package(bctoolbox 0.2.0 REQUIRED) +endif() + +check_include_file(sys/uio.h HAVE_SYS_UIO_H) +check_include_file(sys/audio.h HAVE_SYS_AUDIO_H) +if(NOT ANDROID) + check_include_file(sys/shm.h HAVE_SYS_SHM_H) +endif() +check_c_source_compiles("#include <stdatomic.h> +int main(int argc, char *argv[]) { +atomic_int currrent_ref; +atomic_init(&currrent_ref, 1); +atomic_int previous_ref = atomic_fetch_sub_explicit(&currrent_ref, 1, memory_order_release); +return 0; +}" + HAVE_STDATOMIC_H) + +check_function_exists(arc4random HAVE_ARC4RANDOM) +check_symbol_exists(recvmsg "sys/socket.h" HAVE_RECVMSG) +check_symbol_exists(sendmsg "sys/socket.h" HAVE_SENDMSG) + +include(TestBigEndian) +test_big_endian(WORDS_BIGENDIAN) +if(WORDS_BIGENDIAN) + set(ORTP_BIGENDIAN 1) +endif() + + +include_directories( + include/ + src/ + ${CMAKE_CURRENT_BINARY_DIR} +) +if(MSVC) + include_directories(${MSVC_INCLUDE_DIR}) +endif() + + +set(ORTP_CPPFLAGS ${BCTOOLBOX_CPPFLAGS}) +if(ENABLE_STATIC) + list(APPEND ORTP_CPPFLAGS "-DORTP_STATIC") +endif() +if(ENABLE_PERF) + set(PERF 1) +endif() +if(ENABLE_NTP_TIMESTAMP) + set(ORTP_TIMESTAMP 1) + list(APPEND ORTP_CPPFLAGS "-DORTP_TIMESTAMP") +endif() +if(ENABLE_DEBUG_LOGS) + set(ORTP_DEBUG_MODE 1) +endif() +if(CMAKE_USE_PTHREADS_INIT) + set(ORTP_DEFAULT_THREAD_STACK_SIZE ${WITH_THREAD_STACK_SIZE}) +endif() +if(APPLE) + set(__APPLE_USE_RFC_3542 1) +endif() +if(ORTP_CPPFLAGS) + add_definitions(${ORTP_CPPFLAGS}) +endif() +set(POSIXTIMER_INTERVAL 10000) +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/ortp-config.h) +set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/ortp-config.h PROPERTIES GENERATED ON) +add_definitions(-DHAVE_CONFIG_H) + +# Enable stdint.h limit macros on C++ files. (Windows only.) +if(MSVC) + add_definitions("-D__STDC_LIMIT_MACROS") +endif() + +set(STRICT_OPTIONS_CPP ) +set(STRICT_OPTIONS_C ) +if(MSVC) + if(ENABLE_STRICT) + list(APPEND STRICT_OPTIONS_CPP "/WX") + endif() + add_definitions(-D_CRT_SECURE_NO_WARNINGS) +else() + list(APPEND STRICT_OPTIONS_CPP "-Wall" "-Wuninitialized") + list(APPEND STRICT_OPTIONS_C "-Wdeclaration-after-statement" "-Wstrict-prototypes" "-Wno-error=strict-prototypes") + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + list(APPEND STRICT_OPTIONS_CPP "-Qunused-arguments" "-Wno-array-bounds") + endif() + if(APPLE) + list(APPEND STRICT_OPTIONS_CPP "-Wno-error=unknown-warning-option" "-Qunused-arguments" "-Wno-tautological-compare" "-Wno-unused-function" "-Wno-array-bounds") + endif() + if(ENABLE_STRICT) + list(APPEND STRICT_OPTIONS_CPP "-Werror" "-Wextra" "-Wno-unused-parameter" "-Wno-missing-field-initializers" "-fno-strict-aliasing") + endif() +endif() +if(STRICT_OPTIONS_CPP) + list(REMOVE_DUPLICATES STRICT_OPTIONS_CPP) +endif() +if(STRICT_OPTIONS_C) + list(REMOVE_DUPLICATES STRICT_OPTIONS_C) +endif() + +set(EXPORT_TARGET_NAME ortp) + +add_subdirectory(include) +add_subdirectory(src) + + +if(ENABLE_DOC) + find_package(Doxygen) + if(DOXYGEN_FOUND) + set(srcdir ${CMAKE_CURRENT_SOURCE_DIR}) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp.doxygen.in ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen) + file(GLOB DOC_INPUT_FILES + include/ortp/[^.]*.h + src/[^.]*.h + src/[^.]*.c + ) + add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html" + COMMAND ${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/ortp.doxygen ${DOC_INPUT_FILES} + ) + add_custom_target(ortp-html-doc ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/doc/html/index.html") + install(DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/doc/html" + DESTINATION "${CMAKE_INSTALL_DATADIR}/doc/ortp-${ORTP_VERSION}") + endif() +endif() + + + + +set(prefix ${CMAKE_INSTALL_PREFIX}) +set(exec_prefix ${prefix}/bin) +set(libdir ${prefix}/lib) +set(includedir ${prefix}/include) +set(ORTP_PKGCONFIG_VERSION "${ORTP_VERSION}") +set(ORTPDEPS_LIBS ) + +configure_file(${CMAKE_CURRENT_SOURCE_DIR}/ortp.pc.in ${CMAKE_CURRENT_BINARY_DIR}/ortp.pc) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ortp.pc DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + +if (ENABLE_PACKAGE_SOURCE) + add_subdirectory(build) +endif() + +include(CMakePackageConfigHelpers) + +set(CONFIG_PACKAGE_LOCATION "${CMAKE_INSTALL_LIBDIR}/cmake/${EXPORT_TARGET_NAME}") + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}ConfigVersion.cmake" + VERSION ${ORTP_VERSION} + COMPATIBILITY AnyNewerVersion +) +if(LINPHONE_BUILDER_GROUP_EXTERNAL_SOURCE_PATH_BUILDERS) + export(EXPORT "${EXPORT_TARGET_NAME}Targets" + FILE "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Targets.cmake" + ) +endif() + +configure_package_config_file(ORTPConfig.cmake.in + "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Config.cmake" + INSTALL_DESTINATION ${CONFIG_PACKAGE_LOCATION} + NO_SET_AND_CHECK_MACRO +) + +install(EXPORT ${EXPORT_TARGET_NAME}Targets + FILE "${EXPORT_TARGET_NAME}Targets.cmake" + DESTINATION ${CONFIG_PACKAGE_LOCATION} +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_TARGET_NAME}ConfigVersion.cmake" + DESTINATION ${CONFIG_PACKAGE_LOCATION} +) +install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/README.md" + "${CMAKE_CURRENT_SOURCE_DIR}/CHANGELOG.md" + "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt" + "${CMAKE_CURRENT_SOURCE_DIR}/AUTHORS.md" + DESTINATION "${CMAKE_INSTALL_DATADIR}/doc/ortp-${ORTP_VERSION}" +) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/include/ortp/rtpsession.h new/ortp-5.0.35/include/ortp/rtpsession.h --- old/ortp-5.0.0/include/ortp/rtpsession.h 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/include/ortp/rtpsession.h 2021-10-04 16:11:09.000000000 +0200 @@ -813,7 +813,7 @@ ORTP_PUBLIC int rtp_bundle_send_through_primary(RtpBundle *bundle, bool_t is_rtp, mblk_t *m, int flags, const struct sockaddr *destaddr, socklen_t destlen); /* Returns FALSE if the rtp packet or at least one of the RTCP packet (compound) was for the primary */ -ORTP_PUBLIC bool_t rtp_bundle_dispatch(RtpBundle *bundle, bool_t is_rtp, mblk_t *m, bool_t received_by_rtcp_mux); +ORTP_PUBLIC bool_t rtp_bundle_dispatch(RtpBundle *bundle, bool_t is_rtp, mblk_t *m); ORTP_PUBLIC void rtp_session_use_local_addr(RtpSession * session, const char * rtp_local_addr, const char * rtcp_local_addr); #ifdef __cplusplus diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/src/CMakeLists.txt new/ortp-5.0.35/src/CMakeLists.txt --- old/ortp-5.0.0/src/CMakeLists.txt 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/src/CMakeLists.txt 2021-10-04 16:11:09.000000000 +0200 @@ -1,6 +1,6 @@ ############################################################################ # CMakeLists.txt -# Copyright (C) 2014 Belledonne Communications, Grenoble France +# Copyright (C) 2010-2021 Belledonne Communications, Grenoble France # ############################################################################ # @@ -98,7 +98,11 @@ set_target_properties(ortp-static PROPERTIES OUTPUT_NAME ortp) set_target_properties(ortp-static PROPERTIES CXX_STANDARD 11 CXX_STANDARD_REQUIRED ON) target_compile_definitions(ortp-static PRIVATE "ORTP_EXPORTS") - target_link_libraries(ortp-static INTERFACE ${LIBS}) + target_include_directories(ortp-static + PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:include> + ) + target_link_libraries(ortp-static PUBLIC bctoolbox INTERFACE ${LIBS}) install(TARGETS ortp-static EXPORT ${EXPORT_TARGET_NAME}Targets ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE @@ -114,7 +118,7 @@ else() set(MIN_OS ${CMAKE_OSX_DEPLOYMENT_TARGET}) endif() - set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/build/osx/") + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/build/osx/") set_target_properties(ortp PROPERTIES FRAMEWORK TRUE MACOSX_FRAMEWORK_IDENTIFIER org.linphone.ortp @@ -131,7 +135,8 @@ endif() target_compile_definitions(ortp PRIVATE "ORTP_EXPORTS") target_include_directories(ortp - INTERFACE $<INSTALL_INTERFACE:include> + PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:include> ) target_link_libraries(ortp PUBLIC bctoolbox PRIVATE ${LIBS}) if(MSVC) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/src/rtpbundle.cc new/ortp-5.0.35/src/rtpbundle.cc --- old/ortp-5.0.0/src/rtpbundle.cc 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/src/rtpbundle.cc 2021-10-04 16:11:09.000000000 +0200 @@ -80,8 +80,8 @@ return ((RtpBundleCxx *)bundle)->sendThroughPrimary(is_rtp, m, flags, destaddr, destlen); } -extern "C" bool_t rtp_bundle_dispatch(RtpBundle *bundle, bool_t is_rtp, mblk_t *m, bool_t received_by_rtcp_mux) { - return ((RtpBundleCxx *)bundle)->dispatch(is_rtp, m, received_by_rtcp_mux); +extern "C" bool_t rtp_bundle_dispatch(RtpBundle *bundle, bool_t is_rtp, mblk_t *m) { + return ((RtpBundleCxx *)bundle)->dispatch(is_rtp, m); } // C++ - Implementation @@ -210,13 +210,8 @@ rtp_session_get_transports(primary, NULL, &primaryTransport); } - if (isRtp) { - destaddr = (struct sockaddr *)&primary->rtp.gs.rem_addr; - destlen = primary->rtp.gs.rem_addrlen; - } else { - destaddr = (struct sockaddr *)&primary->rtcp.gs.rem_addr; - destlen = primary->rtcp.gs.rem_addrlen; - } + destaddr = (struct sockaddr *)&primary->rtp.gs.rem_addr; + destlen = primary->rtp.gs.rem_addrlen; // This will bypass the modifiers of the primary transport return meta_rtp_transport_sendto(primaryTransport, m, flags, destaddr, destlen); @@ -388,8 +383,8 @@ return session; } -bool RtpBundleCxx::dispatch(bool isRtp, mblk_t *m, bool receivedByRtcpMux) { - if (isRtp && !receivedByRtcpMux) { +bool RtpBundleCxx::dispatch(bool isRtp, mblk_t *m) { + if (isRtp) { return dispatchRtpMessage(m); } else { return dispatchRtcpMessage(m); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/src/rtpbundle.h new/ortp-5.0.35/src/rtpbundle.h --- old/ortp-5.0.0/src/rtpbundle.h 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/src/rtpbundle.h 2021-10-04 16:11:09.000000000 +0200 @@ -53,7 +53,7 @@ const std::string &getSessionMid(RtpSession *session) const; int sendThroughPrimary(bool isRtp, mblk_t *m, int flags, const struct sockaddr *destaddr, socklen_t destlen) const; - bool dispatch(bool isRtp, mblk_t *m, bool receivedByRtcpMux); + bool dispatch(bool isRtp, mblk_t *m); bool updateMid(const std::string &mid, const uint32_t ssrc, const uint16_t sequenceNumber, bool isRtp); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/src/rtpsession.c new/ortp-5.0.35/src/rtpsession.c --- old/ortp-5.0.0/src/rtpsession.c 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/src/rtpsession.c 2021-10-04 16:11:09.000000000 +0200 @@ -2522,7 +2522,7 @@ int ret; MetaRtpTransportImpl *m = (MetaRtpTransportImpl*)t->data; OList *elem; - bool_t received_via_rtcp_mux = FALSE; + bool_t packet_is_rtp = m->is_rtp; /* presume it is the same nature as the RtpTransport, but can be changed if rtcp-mux is used */ if (!m->has_set_session){ meta_rtp_set_session(t->session,m); @@ -2559,22 +2559,22 @@ int pt = rtp_get_payload_type(msg); if (pt >= 64 && pt <= 95){ /*this is assumed to be an RTCP packet*/ - received_via_rtcp_mux = TRUE; + packet_is_rtp = FALSE; } } } - if (received_via_rtcp_mux) { + if (m->is_rtp && !packet_is_rtp) { if (m->other_meta_rtp) { _meta_rtp_transport_recv_through_modifiers(m->other_meta_rtp, NULL, msg, flags); if (t->session && t->session->bundle && t->session->is_primary) { - if (rtp_bundle_dispatch(t->session->bundle, m->is_rtp, msg, received_via_rtcp_mux)) { + if (rtp_bundle_dispatch(t->session->bundle, packet_is_rtp, msg)) { return 0; } } - rtp_session_process_incoming(t->session, dupmsg(msg),FALSE, msg->reserved1, received_via_rtcp_mux); + rtp_session_process_incoming(t->session, dupmsg(msg),FALSE, msg->reserved1, TRUE); ret = 0; /*since we directly inject in the RtpSession this RTCP packet, we shall return 0 and pass a duplicate of the message, because rtp_session_rtp_recv() is going to free it.*/ } else { @@ -2584,7 +2584,7 @@ ret = _meta_rtp_transport_recv_through_modifiers(t, NULL, msg, flags); if (t->session && t->session->bundle && t->session->is_primary) { - if (rtp_bundle_dispatch(t->session->bundle, m->is_rtp, msg, received_via_rtcp_mux)) { + if (rtp_bundle_dispatch(t->session->bundle, TRUE, msg)) { return 0; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ortp-5.0.0/src/rtpsession_inet.c new/ortp-5.0.35/src/rtpsession_inet.c --- old/ortp-5.0.0/src/rtpsession_inet.c 2021-07-07 16:37:12.000000000 +0200 +++ new/ortp-5.0.35/src/rtpsession_inet.c 2021-10-04 16:11:09.000000000 +0200 @@ -1265,7 +1265,7 @@ putq(&session->net_sim_ctx->send_q, m); ortp_mutex_unlock(&session->net_sim_ctx->mutex); }else{ - ortp_socket_t sockfd = rtp_session_get_socket(session, is_rtp); + ortp_socket_t sockfd = rtp_session_get_socket(session, is_rtp || session->rtcp_mux); if (sockfd != (ortp_socket_t)-1){ ret=_ortp_sendto(sockfd, m, flags, destaddr, destlen); }else{ @@ -1958,11 +1958,12 @@ int rtp_session_rtp_recv (RtpSession * session, uint32_t user_ts) { mblk_t *mp; - + if ((session->rtp.gs.socket==(ortp_socket_t)-1) && !rtp_session_using_transport(session, rtp)) return -1; /*session has no sockets for the moment*/ while (1) { + bool_t packet_is_rtp = TRUE; if (!session->bundle || (session->bundle && session->is_primary)) { #if defined(_WIN32) || defined(_WIN32_WCE) ortp_mutex_lock(&session->rtp.winthread_lock); @@ -1994,13 +1995,24 @@ ortp_mutex_lock(&session->bundleq_lock); mp = getq(&session->bundleq); ortp_mutex_unlock(&session->bundleq_lock); + + if (mp && session->rtcp_mux){ + /* The packet could be a RTCP one */ + if (rtp_get_version(mp) == 2){ + int pt = rtp_get_payload_type(mp); + if (pt >= 64 && pt <= 95){ + /*this is assumed to be an RTCP packet*/ + packet_is_rtp = FALSE; + } + } + } } if (mp != NULL) { mp->reserved1 = user_ts; - rtp_session_process_incoming(session, mp, TRUE, user_ts, FALSE); + rtp_session_process_incoming(session, mp, packet_is_rtp, user_ts, !packet_is_rtp); } else { - rtp_session_process_incoming(session, NULL, TRUE, user_ts, FALSE); + rtp_session_process_incoming(session, NULL, packet_is_rtp, user_ts, FALSE); return -1; } }