提交 febe0f8d authored 作者: Michael Jerris's avatar Michael Jerris

FS-8867: build using in tree libvpx, vpx no longer optional and does not use…

FS-8867: build using in tree libvpx, vpx no longer optional and does not use system libvpx due to issues with having to update it frequently conflicting with system libraries, now we link to the static in tree version instead.  Also, mod_vpx is now a core module instead of a loadable module, so mod_vpx.so will no longer be built
上级 bcbb2fd8
......@@ -27,7 +27,7 @@ AM_LIBAPU_LIBS := $(subst $(switch_builddir)/,,$(shell ./libs/apr-util/apu-1-con
endif
AM_CFLAGS = $(SWITCH_AM_CFLAGS) $(SWITCH_ANSI_CFLAGS)
AM_CPPFLAGS = $(SWITCH_AM_CXXFLAGS) -I$(switch_srcdir)/libs/sofia-sip/libsofia-sip-ua/sdp -I$(switch_srcdir)/libs/sofia-sip/libsofia-sip-ua/su -I$(switch_builddir)/libs/sofia-sip/libsofia-sip-ua/su
AM_CPPFLAGS = -I$(switch_srcdir)/libs/libvpx $(SWITCH_AM_CXXFLAGS) -I$(switch_srcdir)/libs/sofia-sip/libsofia-sip-ua/sdp -I$(switch_srcdir)/libs/sofia-sip/libsofia-sip-ua/su -I$(switch_builddir)/libs/sofia-sip/libsofia-sip-ua/su
AM_LDFLAGS = $(SWITCH_AM_LDFLAGS) $(AM_LIBAPR_LDFLAGS) $(AM_LIBAPU_LDFLAGS)
DEFAULT_SOUNDS=en-us-callie-8000
......@@ -120,9 +120,10 @@ CORE_CFLAGS += -I$(switch_srcdir)/libs/srtp/crypto/include -Ilibs/srtp/crypto/in
CORE_CFLAGS += -I$(switch_builddir)/libs/spandsp/src -I$(switch_srcdir)/libs/spandsp/src
CORE_CFLAGS += -I$(switch_builddir)/libs/tiff-4.0.2/libtiff -I$(switch_srcdir)/libs/tiff-4.0.2/libtiff
CORE_CFLAGS += -DSWITCH_HAVE_YUV
CORE_CFLAGS += -DSWITCH_HAVE_VPX
APR_LIBS = $(AM_LIBAPU_LIBS) $(AM_LIBAPR_LIBS)
CORE_LIBS=
CORE_LIBS=libs/libvpx/libvpx.a
if SYSTEM_APRUTIL
CORE_LIBS += $(AM_LIBAPU_LINKLIBTOOL)
else
......@@ -151,10 +152,6 @@ if HAVE_PNG
CORE_CFLAGS += -DSWITCH_HAVE_PNG $(LIBPNG_CFLAGS)
endif
if HAVE_VPX
CORE_CFLAGS += -DSWITCH_HAVE_VPX $(VPX_CFLAGS)
endif
if HAVE_FREETYPE
CORE_CFLAGS += -DSWITCH_HAVE_FREETYPE $(LIBFREETYPE_CFLAGS)
endif
......@@ -201,9 +198,9 @@ libfreeswitch_libyuv_la_CPPFLAGS = -O2 -fomit-frame-pointer -Ilibs/libyuv/includ
CORE_LIBS+=libfreeswitch_libyuv.la
lib_LTLIBRARIES = libfreeswitch.la
libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(SQLITE_CFLAGS) $(FREETYPE_CFLAGS) $(CURL_CFLAGS) $(PCRE_CFLAGS) $(SPEEX_CFLAGS) $(LIBEDIT_CFLAGS) $(openssl_CFLAGS) $(VPX_CFLAGS) $(AM_CFLAGS)
libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(SQLITE_CFLAGS) $(FREETYPE_CFLAGS) $(CURL_CFLAGS) $(PCRE_CFLAGS) $(SPEEX_CFLAGS) $(LIBEDIT_CFLAGS) $(openssl_CFLAGS) $(AM_CFLAGS)
libfreeswitch_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) $(PLATFORM_CORE_LDFLAGS) -no-undefined
libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(FREETYPE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(VPX_LIBS) $(PLATFORM_CORE_LIBS)
libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(FREETYPE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(PLATFORM_CORE_LIBS)
libfreeswitch_la_DEPENDENCIES = $(BUILT_SOURCES)
if HAVE_PNG
......@@ -347,6 +344,7 @@ libfreeswitch_la_SOURCES = \
src/switch_curl.c \
src/switch_hashtable.c\
src/switch_utf8.c \
src/switch_vpx.c \
libs/libtpl-1.5/src/tpl.c \
libs/libteletone/src/libteletone_detect.c \
libs/libteletone/src/libteletone_generate.c \
......@@ -517,6 +515,12 @@ libs/libedit/src/.libs/libedit.a:
libs/libzrtp/libzrtp.a:
cd libs/libzrtp && $(MAKE)
libs/libvpx/Makefile:
cd libs/libvpx && sh ./configure --enable-pic --disable-docs --disable-examples --disable-install-bins --disable-install-srcs --disable-unit-tests
libs/libvpx/libvpx.a: libs/libvpx/Makefile
@cd libs/libvpx && $(MAKE)
libs/sofia-sip/Makefile:
cd libs/sofia-sip && sh ./configure.gnu $(MY_DEFAULT_ARGS)
......
......@@ -75,7 +75,6 @@ codecs/mod_opus
#codecs/mod_silk
#codecs/mod_siren
#codecs/mod_theora
codecs/mod_vpx
dialplans/mod_dialplan_asterisk
#dialplans/mod_dialplan_directory
dialplans/mod_dialplan_xml
......
......@@ -74,7 +74,6 @@ codecs/mod_sangoma_codec
codecs/mod_silk
codecs/mod_siren
codecs/mod_theora
codecs/mod_vpx
dialplans/mod_dialplan_asterisk
dialplans/mod_dialplan_directory
dialplans/mod_dialplan_xml
......
......@@ -63,7 +63,6 @@
<load module="mod_amr"/>
<!--<load module="mod_ilbc"/>-->
<load module="mod_h26x"/>
<load module="mod_vpx"/>
<!--<load module="mod_siren"/>-->
<!-- File Format Interfaces -->
......
......@@ -30,7 +30,6 @@
<load module="mod_opus"/>
<load module="mod_ilbc"/>
<load module="mod_h26x"/>
<load module="mod_vpx"/>
<!-- File Format Interfaces -->
<load module="mod_sndfile"/>
......
......@@ -42,7 +42,6 @@
<load module="mod_amr"/>
<!--<load module="mod_ilbc"/>-->
<load module="mod_h26x"/>
<load module="mod_vpx"/>
<!--<load module="mod_siren"/>-->
<!-- Timers -->
......
......@@ -23,7 +23,6 @@
<load module="mod_g723_1"/>
<load module="mod_g729"/>
<load module="mod_amr"/>
<load module="mod_vpx"/>
<load module="mod_opus"/>
<load module="mod_sndfile"/>
<load module="mod_native_file"/>
......
......@@ -94,7 +94,6 @@
<load module="mod_amr"/>
<!--<load module="mod_ilbc"/>-->
<!--<load module="mod_h26x"/>-->
<load module="mod_vpx"/>
<load module="mod_b64"/>
<!--<load module="mod_siren"/>-->
<!--<load module="mod_isac"/>-->
......
......@@ -895,8 +895,6 @@ CPPFLAGS="$save_CPPFLAGS"
AX_HAVE_CPU_SET
AC_CHECK_LIB(vpx, vpx_img_alloc, [AC_DEFINE(HAVE_VPX, 1, [Define if you have vpx()])])
AC_CHECK_LIB(rt, clock_gettime, [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])])
AC_CHECK_LIB(rt, clock_getres, [AC_DEFINE(HAVE_CLOCK_GETRES, 1, [Define if you have clock_getres()])])
AC_CHECK_LIB(rt, clock_nanosleep, [AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define if you have clock_nanosleep()])])
......@@ -1268,32 +1266,6 @@ PKG_CHECK_MODULES([SNDFILE], [sndfile >= 1.0.20],[
AM_CONDITIONAL([HAVE_SNDFILE],[true])],[
AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_SNDFILE],[false])])
ac_cv_have_vpx=no
PKG_CHECK_MODULES([VPX], [vpx2 >= 1.5.0],[
ac_cv_have_vpx=yes],[
PKG_CHECK_MODULES([VPX], [vpx >= 1.5.0],[
ac_cv_have_vpx=yes],[
AC_MSG_RESULT([no]); ac_cv_have_vpx=no])])
vpx_atleast_15=no
if test x"$ac_cv_have_vpx" = xyes; then
AC_MSG_CHECKING(whether libvpx is at least version 1.5)
save_CPPFLAGS="${CPPFLAGS}"
CPPFLAGS="${VPX_CFLAGS} ${save_CPPFLAGS}"
AC_TRY_COMPILE([
#include <vpx/vpx_image.h>
], [vpx_color_range_t foo = VPX_CR_FULL_RANGE;],[vpx_atleast_15=yes],[vpx_atleast_15=no])
AC_MSG_RESULT($vpx_atleast_15)
CPPFLAGS="${save_CPPFLAGS}"
fi
AM_CONDITIONAL([HAVE_VPX],[test "x$vpx_atleast_15" != "xno"])
SWITCH_AM_CFLAGS="$VPX_CFLAGS $SWITCH_AM_CFLAGS"
SWITCH_AM_CXXFLAGS="$VPX_CFLAGS $SWITCH_AM_CXXFLAGS"
SWITCH_AM_CPPFLAGS="$VPX_CFLAGS $SWITCH_AM_CPPFLAGS"
PKG_CHECK_MODULES([MPG123], [libmpg123 >= 1.20.1],[
AM_CONDITIONAL([HAVE_MPG123],[true])],[
AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_MPG123],[false])])
......@@ -1775,7 +1747,6 @@ AC_CONFIG_FILES([Makefile
src/mod/codecs/mod_siren/Makefile
src/mod/codecs/mod_skel_codec/Makefile
src/mod/codecs/mod_theora/Makefile
src/mod/codecs/mod_vpx/Makefile
src/mod/dialplans/mod_dialplan_asterisk/Makefile
src/mod/dialplans/mod_dialplan_directory/Makefile
src/mod/dialplans/mod_dialplan_xml/Makefile
......
......@@ -377,10 +377,6 @@ Module: codecs/mod_theora
Description: mod_theora
Adds mod_theora.
Module: codecs/mod_vpx
Description: VP8/VP9 video codec
This module adds the VP8 video codec, also known as WebM.
Module: codecs/mod_yuv
Description: Adds mod_yuv
Adds mod_yuv.
......
......@@ -1462,7 +1462,7 @@ ASR_TTS_MODULES="asr_tts/mod_flite asr_tts/mod_pocketsphinx asr_tts/mod_tts_comm
######################################################################################################################
CODECS_MODULES="codecs/mod_amr codecs/mod_amrwb codecs/mod_bv codecs/mod_codec2 codecs/mod_g723_1 \
codecs/mod_g729 codecs/mod_h26x codecs/mod_ilbc codecs/mod_isac codecs/mod_mp4v codecs/mod_opus codecs/mod_silk \
codecs/mod_siren codecs/mod_theora codecs/mod_vpx"
codecs/mod_siren codecs/mod_theora"
#
%if %{build_sng_tc}
CODECS_MODULES+="codecs/mod_sangoma_codec"
......@@ -2174,9 +2174,6 @@ fi
%files codec-mp4v
%{MODINSTDIR}/mod_mp4v.so*
%files codec-vpx
%{MODINSTDIR}/mod_vpx.so*
%files codec-opus
%{MODINSTDIR}/mod_opus.so*
%config(noreplace) %attr(0640, freeswitch, daemon) %{sysconfdir}/autoload_configs/opus.conf.xml
......
......@@ -6,7 +6,6 @@ config.log
config.nice
config.status
config.sub
configure
depcomp
install-sh
libtool
......@@ -829,3 +828,15 @@ unimrcp/build/compile
/ldns/
/portaudio/
portaudio.*.log
apr-util/configure
apr-util/xml/expat/configure
apr/configure
iksemel/configure
libdingaling/configure
libyuv/Makefile
libyuv/convert
sofia-sip/configure
spandsp/configure
srtp/configure
tiff-4.0.2/configure
unimrcp/configure
*.d
.bins
.docs
Makefile
config.mk
libs-*.mk
vp8_rtcd.h
vp9_rtcd.h
vpx_config.asm
vpx_config.c
vpx_config.h
vpx_dsp_rtcd.h
vpx_scale_rtcd.h
vpx_version.h
差异被折叠。
......@@ -28,7 +28,7 @@ extern "C" {
* types, removing or reassigning enums, adding/removing/rearranging
* fields to structures
*/
#define VPX_IMAGE_ABI_VERSION (3) /**<\hideinitializer*/
#define VPX_IMAGE_ABI_VERSION (4) /**<\hideinitializer*/
#define VPX_IMG_FMT_PLANAR 0x100 /**< Image is a planar format. */
......
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_av
if HAVE_VPX
if HAVE_AVFORMAT
mod_LTLIBRARIES = mod_av.la
......@@ -16,10 +15,3 @@ all: error
error:
$(error You must install libavformat-dev to build mod_av)
endif
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_av)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_cv
if HAVE_VPX
if HAVE_OPENCV
mod_LTLIBRARIES = mod_cv.la
......@@ -16,10 +15,3 @@ all: error
error:
$(error You must install libopencv-dev to build mod_cv)
endif
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_cv)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_fsv
if HAVE_VPX
mod_LTLIBRARIES = mod_fsv.la
mod_fsv_la_SOURCES = mod_fsv.c
mod_fsv_la_CFLAGS = $(AM_CFLAGS)
mod_fsv_la_LIBADD = $(switch_builddir)/libfreeswitch.la
mod_fsv_la_LDFLAGS = -avoid-version -module -no-undefined -shared
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_fsv)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_mp4v2
if HAVE_VPX
mod_LTLIBRARIES = mod_mp4v2.la
mod_mp4v2_la_SOURCES = mod_mp4v2.c
mod_mp4v2_la_CFLAGS = $(AM_CFLAGS)
mod_mp4v2_la_LIBADD = $(switch_builddir)/libfreeswitch.la
mod_mp4v2_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lmp4v2
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_mp4v2)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_openh264
if HAVE_VPX
OPENH264_DIR=/usr/local/
mod_LTLIBRARIES = mod_openh264.la
......@@ -10,10 +8,3 @@ mod_openh264_la_SOURCES = mod_openh264.cpp
mod_openh264_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(OPENH264_DIR)/include/wels
mod_openh264_la_LIBADD = $(switch_builddir)/libfreeswitch.la
mod_openh264_la_LDFLAGS = -L$(OPENH264_DIR)/lib/ -lopenh264 -avoid-version -module -no-undefined -shared
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_openh264)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_vpx
if HAVE_VPX
mod_LTLIBRARIES = mod_vpx.la
mod_vpx_la_SOURCES = mod_vpx.c
mod_vpx_la_LIBADD = $(switch_builddir)/libfreeswitch.la
mod_vpx_la_CFLAGS = $(VPX_CFLAGS) $(SWITCH_AM_CFLAGS)
mod_vpx_la_LDFLAGS = $(VPX_LIBS) -avoid-version -module -no-undefined -shared
else
install: error
all: error
error:
$(error You must install your distros libvpx-dev to build mod_vpx)
endif
To build this module I used the following steps:
apt-get install yasm
git /usr/local/src/
git clone https://chromium.googlesource.com/webm/libvpx
cd libvpx/build/
../configure --enable-pic --enable-shared
make
make install
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_imagick
if HAVE_VPX
if HAVE_MAGICK
mod_LTLIBRARIES = mod_imagick.la
......@@ -16,10 +15,3 @@ all: error
error:
$(error You must install libmagickcore-dev to build mod_imagick)
endif
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_imagick)
endif
include $(top_srcdir)/build/modmake.rulesam
MODNAME=mod_vlc
if HAVE_VPX
if HAVE_VLC
mod_LTLIBRARIES = mod_vlc.la
......@@ -16,10 +15,3 @@ all: error
error:
$(error You must install libvlc-dev to build mod_vlc)
endif
else
install: error
all: error
error:
$(error You must install libvpx2-dev to build mod_vlc)
endif
......@@ -31,8 +31,8 @@
#ifdef SWITCH_HAVE_VPX
#include "vpx/vpx_image.h"
#if VPX_IMAGE_ABI_VERSION != (3)
#error VPX_IMAGE_ABI_VERSION is not (3)
#if VPX_IMAGE_ABI_VERSION != (4)
#error VPX_IMAGE_ABI_VERSION is not (4)
#endif
#endif
......
......@@ -1876,6 +1876,7 @@ SWITCH_DECLARE(switch_status_t) switch_loadable_module_init(switch_bool_t autolo
switch_loadable_module_load_module("", "CORE_SOFTTIMER_MODULE", SWITCH_FALSE, &err);
switch_loadable_module_load_module("", "CORE_PCM_MODULE", SWITCH_FALSE, &err);
switch_loadable_module_load_module("", "CORE_SPEEX_MODULE", SWITCH_FALSE, &err);
switch_loadable_module_load_module("", "CORE_VPX_MODULE", SWITCH_FALSE, &err);
if ((xml = switch_xml_open_cfg(cf, &cfg, NULL))) {
......
......@@ -241,7 +241,7 @@ static inline int IS_VP8_KEY_FRAME(uint8_t *data)
#define IS_VP9_START_PKT(byte) ((byte) & 0x02)
SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load);
SWITCH_MODULE_DEFINITION(mod_vpx, mod_vpx_load, NULL, NULL);
SWITCH_MODULE_DEFINITION(CORE_VPX_MODULE, mod_vpx_load, NULL, NULL);
struct vpx_context {
switch_codec_t *codec;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论