From d2a7cfafb30a1dc858a68009bc8138c40cb81d88 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 21 Nov 2017 10:52:13 +0100 Subject: [PATCH] Call new mediastreamer2 stream type API to fix ringing from linphone in wrong stream on Android --- coreapi/linphonecore.c | 1 + src/conference/session/media-session.cpp | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 95dd2aed2..e1ea4e478 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -3697,6 +3697,7 @@ void linphone_core_notify_incoming_call(LinphoneCore *lc, LinphoneCall *call){ if (lc->ringstream && lc->dmfs_playing_start_time!=0){ linphone_core_stop_dtmf_stream(lc); } + ms_snd_card_set_stream_type(ringcard, MS_SND_CARD_STREAM_RING); linphone_ringtoneplayer_start(lc->factory, lc->ringtoneplayer, ringcard, lc->sound_conf.local_ring, 2000); }else{ /* else play a tone within the context of the current call */ diff --git a/src/conference/session/media-session.cpp b/src/conference/session/media-session.cpp index 9a8f6ae56..74def1064 100644 --- a/src/conference/session/media-session.cpp +++ b/src/conference/session/media-session.cpp @@ -2584,6 +2584,11 @@ void MediaSessionPrivate::startAudioStream (LinphoneCallState targetState, bool captcard = playcard = nullptr; } #endif + + if (playcard) { + ms_snd_card_set_stream_type(playcard, MS_SND_CARD_STREAM_VOICE); + } + bool useEc = captcard && linphone_core_echo_cancellation_enabled(core); audio_stream_enable_echo_canceller(audioStream, useEc); if (playcard && (stream->max_rate > 0))