From eea76c88562359197253233975ad2b171fc78324 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 11 Sep 2015 11:37:01 -0500 Subject: [PATCH] FS-8130 Port video buffer to also support audio and remove original STFU jitter buffer Add some more resilience to video packet loss Add codec control mechanism for both call-specific debug and codec/call specfic params Make opus function better in packet loss and latent situations Use new codec control prams to make JB lookahead FEC optionally enabled or disabled mid-call Add Param to allow JB lookahead to be enabled. --- Makefile.am | 6 +- conf/vanilla/autoload_configs/opus.conf.xml | 2 +- docs/Doxygen.conf | 3 - src/CMakeLists.txt | 1 - src/include/switch.h | 2 +- src/include/switch_core.h | 6 +- src/include/switch_core_media.h | 8 +- src/include/switch_jitterbuffer.h | 79 ++ src/include/switch_module_interfaces.h | 2 +- src/include/switch_platform.h | 1 + src/include/switch_rtp.h | 8 +- src/include/switch_stfu.h | 206 --- src/include/switch_types.h | 13 +- src/include/switch_vidderbuffer.h | 70 - src/mod/applications/mod_av/avcodec.c | 2 + .../applications/mod_commands/mod_commands.c | 102 ++ .../mod_conference/conference_video.c | 13 +- src/mod/codecs/mod_openh264/mod_openh264.cpp | 2 + src/mod/codecs/mod_opus/mod_opus.c | 99 +- src/mod/codecs/mod_silk/mod_silk.c | 19 +- src/mod/codecs/mod_vpx/mod_vpx.c | 2 + src/mod/endpoints/mod_rtc/mod_rtc.c | 2 +- src/mod/endpoints/mod_sofia/mod_sofia.c | 2 +- src/mod/endpoints/mod_sofia/rtp.c | 14 +- .../languages/mod_managed/freeswitch_wrap.cxx | 82 +- src/mod/languages/mod_managed/managed/swig.cs | 210 ++- src/switch_core_codec.c | 4 +- src/switch_core_media.c | 114 +- src/switch_core_session.c | 4 +- src/switch_ivr.c | 57 +- src/switch_jitterbuffer.c | 1086 +++++++++++++++ src/switch_rtp.c | 292 ++-- src/switch_stfu.c | 1173 ----------------- src/switch_vidderbuffer.c | 687 ---------- .../FreeSwitchCore.2010.vcxproj.filters | 6 - w32/Library/FreeSwitchCore.2015.vcxproj | 41 +- 36 files changed, 1888 insertions(+), 2532 deletions(-) create mode 100644 src/include/switch_jitterbuffer.h delete mode 100644 src/include/switch_stfu.h delete mode 100644 src/include/switch_vidderbuffer.h create mode 100644 src/switch_jitterbuffer.c delete mode 100644 src/switch_stfu.c delete mode 100644 src/switch_vidderbuffer.c diff --git a/Makefile.am b/Makefile.am index 75cc95c30a..282f63642b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -224,7 +224,7 @@ library_include_HEADERS = \ src/include/switch_types.h \ src/include/switch_utils.h \ src/include/switch_rtp.h \ - src/include/switch_vidderbuffer.h \ + src/include/switch_jitterbuffer.h \ src/include/switch_rtcp_frame.h \ src/include/switch_stun.h \ src/include/switch_nat.h \ @@ -234,7 +234,6 @@ library_include_HEADERS = \ src/include/switch_cpp.h \ src/include/switch_curl.h \ src/include/switch_json.h \ - src/include/switch_stfu.h \ src/include/switch_utf8.h \ src/include/switch_vpx.h \ libs/libteletone/src/libteletone_detect.h \ @@ -290,7 +289,7 @@ libfreeswitch_la_SOURCES = \ src/switch_resample.c \ src/switch_regex.c \ src/switch_rtp.c \ - src/switch_vidderbuffer.c \ + src/switch_jitterbuffer.c \ src/switch_ivr_bridge.c \ src/switch_ivr_originate.c \ src/switch_ivr_async.c \ @@ -315,7 +314,6 @@ libfreeswitch_la_SOURCES = \ src/switch_json.c \ src/switch_curl.c \ src/switch_hashtable.c\ - src/switch_stfu.c \ src/switch_utf8.c \ libs/libtpl-1.5/src/tpl.c \ libs/libteletone/src/libteletone_detect.c \ diff --git a/conf/vanilla/autoload_configs/opus.conf.xml b/conf/vanilla/autoload_configs/opus.conf.xml index 022cc15912..98a6b7fd1d 100644 --- a/conf/vanilla/autoload_configs/opus.conf.xml +++ b/conf/vanilla/autoload_configs/opus.conf.xml @@ -9,7 +9,7 @@ - +