diff --git a/Makefile.am b/Makefile.am index c8d07eab09..c658fc0715 100644 --- a/Makefile.am +++ b/Makefile.am @@ -155,7 +155,7 @@ CORE_LIBS+=libfreeswitch_spandsp.la lib_LTLIBRARIES = libfreeswitch.la libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(SQLITE_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) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(PLATFORM_CORE_LIBS) +libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(VPX_LIBS) $(PLATFORM_CORE_LIBS) libfreeswitch_la_DEPENDENCIES = $(BUILT_SOURCES) if HAVE_ODBC diff --git a/configure.ac b/configure.ac index 7f87ef07d1..35dfb58af2 100644 --- a/configure.ac +++ b/configure.ac @@ -1213,12 +1213,14 @@ PKG_CHECK_MODULES([LDNS], [libldns >= 1.6.6],[ PKG_CHECK_MODULES([VPX], [vpx >= 1.3.0],[ AM_CONDITIONAL([HAVE_VPX],[true])],[ + AC_CHECK_LIB([vpx], [vpx_codec_vp9_cx_algo], [VPX_LIBS=-lvpx]) + AS_IF([test -z "$VPX_LIBS"],[ if module_enabled mod_vpx; then AC_MSG_ERROR([You need to either install libvpx-dev or disable mod_vpx in modules.conf]) else AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_VPX],[false]) fi],[ - AM_CONDITIONAL([HAVE_VPX],[true])]) + AM_CONDITIONAL([HAVE_VPX],[true])])]) #PKG_CHECK_MODULES([AVCODEC], [avcodec >= 53.35.0]) #PKG_CHECK_MODULES([AVFORMAT], [avformat >= 53.21.1]) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index f1d7dfed12..3ff631453b 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -103,8 +103,6 @@ typedef enum { SSF_MEDIA_BUG_TAP_ONLY = (1 << 10) } switch_session_flag_t; -typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); - struct switch_core_session { switch_memory_pool_t *pool; switch_thread_t *thread; diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 0ace87d288..330b6c9e9c 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -169,8 +169,7 @@ typedef enum { DS_INVALID, } dtls_state_t; - - +typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); @@ -2317,7 +2316,7 @@ SWITCH_DECLARE(uint8_t) switch_core_session_check_interface(switch_core_session_ Return SWITCH_STATUS_BREAK will break the loop and end the video thread */ -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data); +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data); /*! \brief Set a callback to let the core video thread call us diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 53a240a1b4..802f7a27b6 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -9781,7 +9781,7 @@ SWITCH_STANDARD_APP(conference_function) switch_core_session_receive_message(session, &msg); /* Chime in the core video thread */ - switch_core_session_set_video_thread_callback(session, (void *)video_thread_callback, (void *)&member); + switch_core_session_set_video_thread_callback(session, video_thread_callback, (void *)&member); /* Run the conference loop */ do { diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 8bf3c710b6..76ca5a9e81 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -3063,7 +3063,7 @@ SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stre session_manager.running, session_manager.busy, session_manager.popping); } -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data) +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data) { if (!func) { session->_video_thread_callback = NULL;