123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- diff --git a/CMakeLists.txt b/CMakeLists.txt
- --- a/CMakeLists.txt
- +++ b/CMakeLists.txt
- @@ -34,6 +34,7 @@
-
- find_package(KF5Contacts ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED)
- find_package(KF5IdentityManagement ${KCONTACTS_LIB_VERSION} CONFIG REQUIRED)
- +find_package(Threads)
-
- include(KDEInstallDirs)
- include(KDECompilerSettings NO_POLICY_SCOPE)
- diff --git a/cmake/modules/FindLiboRTP.cmake b/cmake/modules/FindLiboRTP.cmake
- --- a/cmake/modules/FindLiboRTP.cmake
- +++ b/cmake/modules/FindLiboRTP.cmake
- @@ -11,7 +11,7 @@
-
- SET( LIBORTP_FOUND FALSE )
-
- -pkg_check_modules(ortp ortp)
- +pkg_check_modules(ORTP ortp)
-
- FIND_PATH( LIBORTP_INCLUDE_DIR
- ortp/ortp.h
- @@ -40,7 +40,13 @@
- if ( run_result EQUAL 0 )
- # Version OK
- SET( LIBORTP_FOUND TRUE )
- - MESSAGE( STATUS "Found libortp: ${LIBORTP_LIBRARY}" )
- + MESSAGE( STATUS "Found libortp: ${LIBORTP_LIBRARY} ${ORTP_VERSION}" )
- + IF (ORTP_VERSION VERSION_LESS 1.0.1)
- + SET(ORTP_LESS_1_0_1 TRUE)
- + ELSE (ORTP_VERSION VERSION_LESS 1.0.1)
- + SET(ORTP_LESS_1_0_1 FALSE)
- + ENDIF (ORTP_VERSION VERSION_LESS 1.0.1)
- +
- endif ( run_result EQUAL 0 )
- endif( compile_result )
- ENDIF( LIBORTP_INCLUDE_DIR AND LIBORTP_LIBRARY )
- diff --git a/cmake/modules/FindMediastreamer.cmake b/cmake/modules/FindMediastreamer.cmake
- --- a/cmake/modules/FindMediastreamer.cmake
- +++ b/cmake/modules/FindMediastreamer.cmake
- @@ -20,17 +20,25 @@
-
- IF (MEDIASTREAMER_FOUND)
- IF (NOT MEDIASTREAMER_FIND_QUIETLY)
- +
- MESSAGE(STATUS "Found Mediastreamer: ${MEDIASTREAMER_LIBRARIES} (version: ${MEDIASTREAMER_VERSION})")
- +
- + SET(MEDIASTREAMER_LESS_2_9 FALSE)
- + SET(MEDIASTREAMER_LESS_2_11 FALSE)
- + SET(MEDIASTREAMER_LESS_2_14 FALSE)
- +
- IF (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
- SET(MEDIASTREAMER_LESS_2_9 TRUE)
- - SET(MEDIASTREAMER_LESS_2_11 TRUE)
- - ELSEIF (MEDIASTREAMER_VERSION VERSION_LESS 2.11)
- - SET(MEDIASTREAMER_LESS_2_9 FALSE)
- - SET(MEDIASTREAMER_LESS_2_11 TRUE)
- - ELSE (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
- - SET(MEDIASTREAMER_LESS_2_9 FALSE)
- - SET(MEDIASTREAMER_LESS_2_11 FALSE)
- ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.9)
- +
- + IF (MEDIASTREAMER_VERSION VERSION_LESS 2.11)
- + SET(MEDIASTREAMER_LESS_2_11 TRUE)
- + ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.11)
- +
- + IF (MEDIASTREAMER_VERSION VERSION_LESS 2.14)
- + SET(MEDIASTREAMER_LESS_2_14 TRUE)
- + ENDIF (MEDIASTREAMER_VERSION VERSION_LESS 2.14)
- +
- ENDIF (NOT MEDIASTREAMER_FIND_QUIETLY)
- ELSE (MEDIASTREAMER_FOUND)
- IF (MEDIASTREAMER_FIND_REQUIRED)
- diff --git a/protocols/jabber/libjingle/CMakeLists.txt b/protocols/jabber/libjingle/CMakeLists.txt
- --- a/protocols/jabber/libjingle/CMakeLists.txt
- +++ b/protocols/jabber/libjingle/CMakeLists.txt
- @@ -51,6 +51,10 @@
- add_definitions ( -DMEDIASTREAMER_LESS_2_11 )
- endif ( MEDIASTREAMER_LESS_2_11 )
-
- +if ( MEDIASTREAMER_LESS_2_14 )
- + add_definitions ( -DMEDIASTREAMER_LESS_2_14 )
- +endif ( MEDIASTREAMER_LESS_2_14 )
- +
- if ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
- add_definitions ( -D_DEBUG )
- endif ( CMAKE_BUILD_TYPE STREQUAL "Debug" )
- @@ -284,6 +288,7 @@
- ${EXPAT_LIBRARY}
- ${MEDIASTREAMER_LIBRARIES}
- ${LIBORTP_LIBRARY}
- + ${CMAKE_THREAD_LIBS_INIT}
- ${CMAKE_DL_LIBS}
- )
-
- diff --git a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h
- --- a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h
- +++ b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.h
- @@ -53,7 +53,11 @@
- class LinphoneMediaEngine : public MediaEngineInterface {
- public:
- LinphoneMediaEngine(const std::string& ringWav, const std::string& callWav);
- +#ifdef MEDIASTREAMER_LESS_2_14
- virtual ~LinphoneMediaEngine() {}
- +#else
- + ~LinphoneMediaEngine();
- +#endif
-
- // Implement pure virtual methods of MediaEngine.
- virtual bool Init() { return true; }
- @@ -97,6 +101,10 @@
- bool have_speex;
- bool have_gsm;
-
- +#ifndef MEDIASTREAMER_LESS_2_14
- + MSFactory *factory;
- +#endif
- +
- private:
- std::vector<AudioCodec> voice_codecs_;
- std::vector<VideoCodec> video_codecs_;
- @@ -110,7 +118,11 @@
- class LinphoneVoiceChannel : public VoiceMediaChannel {
- public:
- LinphoneVoiceChannel(LinphoneMediaEngine *eng);
- +#ifdef MEDIASTREAMER_LESS_2_14
- virtual ~LinphoneVoiceChannel();
- +#else
- + ~LinphoneVoiceChannel();
- +#endif
-
- // Implement pure virtual methods of VoiceMediaChannel.
- virtual bool SetRecvCodecs(const std::vector<AudioCodec>& codecs);
- diff --git a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
- --- a/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
- +++ b/protocols/jabber/libjingle/talk/session/phone/linphonemediaengine.cc
- @@ -60,18 +60,34 @@
- ///////////////////////////////////////////////////////////////////////////
- LinphoneMediaEngine::LinphoneMediaEngine(const std::string& ringWav, const std::string& callWav) : ring_wav_(ringWav), call_wav_(callWav) {
- ortp_init();
- +#ifdef MEDIASTREAMER_LESS_2_14
- ms_init();
- +#else
- + factory = ms_factory_new();
- + ms_factory_init_voip(factory);
- + ms_factory_init_plugins(factory);
- +#endif
-
- #ifndef WIN32
- char * path = strdup(MSILBC_LIBRARY);
- char * dirc = dirname(path);
- +#ifdef MEDIASTREAMER_LESS_2_14
- ms_load_plugins(dirc);
- +#else
- + ms_factory_load_plugins(factory, dirc);
- +#endif
- free(path);
- #endif
-
- +#ifdef MEDIASTREAMER_LESS_2_14
- have_ilbc = ms_filter_codec_supported("iLBC");
- have_speex = ms_filter_codec_supported("speex");
- have_gsm = ms_filter_codec_supported("gsm");
- +#else
- + have_ilbc = ms_factory_codec_supported(factory, "iLBC");
- + have_speex = ms_factory_codec_supported(factory, "speex");
- + have_gsm = ms_factory_codec_supported(factory, "gsm");
- +#endif
-
- if (have_speex) {
- voice_codecs_.push_back(AudioCodec(110, payload_type_speex_wb.mime_type, payload_type_speex_wb.clock_rate, 0, 1, 8));
- @@ -88,6 +104,14 @@
- voice_codecs_.push_back(AudioCodec(101, payload_type_telephone_event.mime_type, payload_type_telephone_event.clock_rate, 0, 1, 1));
- }
-
- +#ifndef MEDIASTREAMER_LESS_2_14
- +LinphoneMediaEngine::~LinphoneMediaEngine() {
- + ms_factory_uninit_plugins(factory);
- + ms_factory_uninit_voip(factory);
- + ms_factory_destroy(factory);
- +}
- +#endif
- +
- void LinphoneMediaEngine::Terminate() {
- fflush(stdout);
- }
- @@ -149,15 +173,25 @@
- playport2 = PORT_UNUSED;
-
- #ifdef _DEBUG
- +#ifdef MEDIASTREAMER_LESS_2_14
- ortp_set_log_level_mask(ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
- #else
- + ortp_set_log_level_mask(ORTP_LOG_DOMAIN, ORTP_DEBUG|ORTP_MESSAGE|ORTP_WARNING|ORTP_ERROR|ORTP_FATAL);
- +#endif
- +#else
- +#ifdef MEDIASTREAMER_LESS_2_14
- ortp_set_log_level_mask(ORTP_FATAL);
- +#else
- + ortp_set_log_level_mask(ORTP_LOG_DOMAIN, ORTP_FATAL);
- +#endif
- #endif
-
- #ifdef MEDIASTREAMER_LESS_2_9
- audio_stream_ = audio_stream_new(-1, 0); /* -1 means that function will choose some free port */
- -#else
- +#elif MEDIASTREAMER_LESS_2_14
- audio_stream_ = audio_stream_new(-1, -1, 0); /* -1 means that function will choose some free port */
- +#else
- + audio_stream_ = audio_stream_new(engine_->factory, -1, -1, 0); /* -1 means that function will choose some free port */
- #endif
-
- }
- @@ -272,11 +306,22 @@
- {
- StopRing();
-
- +#ifdef MEDIASTREAMER_LESS_2_14
- + MSSndCardManager *snd_manager = ms_snd_card_manager_get();
- MSSndCard *playcard = ms_snd_card_manager_get_default_playback_card(ms_snd_card_manager_get());
- +#else
- + MSSndCardManager *snd_manager = ms_factory_get_snd_card_manager(engine_->factory);
- + MSSndCard *playcard = ms_snd_card_manager_get_default_playback_card(snd_manager);
- +#endif
- +
- if (!playcard)
- return false;
-
- +#ifdef MEDIASTREAMER_LESS_2_14
- MSSndCard *captcard = ms_snd_card_manager_get_default_capture_card(ms_snd_card_manager_get());
- +#else
- + MSSndCard *captcard = ms_snd_card_manager_get_default_capture_card(snd_manager);
- +#endif
- if (!captcard)
- return false;
-
- @@ -333,8 +378,18 @@
-
- void LinphoneVoiceChannel::StartRing(bool bIncomingCall)
- {
- +#ifdef MEDIASTREAMER_LESS_2_14
- + MSSndCardManager *snd_manager = ms_snd_card_manager_get();
- +#else
- + MSSndCardManager *snd_manager = ms_factory_get_snd_card_manager(engine_->factory);
- +#endif
- +
- MSSndCard *sndcard = NULL;
- +#ifdef MEDIASTREAMER_LESS_2_14
- sndcard=ms_snd_card_manager_get_default_card(ms_snd_card_manager_get());
- +#else
- + sndcard=ms_snd_card_manager_get_default_card(snd_manager);
- +#endif
- if (sndcard)
- {
- if (bIncomingCall)
- @@ -342,7 +397,11 @@
- if (engine_->GetRingWav().size() > 0)
- {
- LOG(LS_VERBOSE) << "incoming ring. sound file: " << engine_->GetRingWav().c_str() << "\n";
- +#ifdef MEDIASTREAMER_LESS_2_14
- ring_stream_ = ring_start (engine_->GetRingWav().c_str(), 1, sndcard);
- +#else
- + ring_stream_ = ring_start (engine_->factory, engine_->GetRingWav().c_str(), 1, sndcard);
- +#endif
- }
- }
- else
- @@ -350,7 +409,11 @@
- if (engine_->GetCallWav().size() > 0)
- {
- LOG(LS_VERBOSE) << "outgoing ring. sound file: " << engine_->GetCallWav().c_str() << "\n";
- +#ifdef MEDIASTREAMER_LESS_2_14
- ring_stream_ = ring_start (engine_->GetCallWav().c_str(), 1, sndcard);
- +#else
- + ring_stream_ = ring_start (engine_->factory, engine_->GetCallWav().c_str(), 1, sndcard);
- +#endif
- }
- }
- }
|