Audio: fix voip calls over bluetooth for Wolfson Microelectronics codecs.

Some devices, that using wm* codecs like i9500, t805, p601 and others
need open CP pcm's when using BT SCO in IN_COMMUNICATION mode.

Change-Id: I64935aabf1c52e66409e727f02752cd325f8ef58
Signed-off-by: stenkinevgeniy <stenkinevgeniy@gmail.com>
tirimbino
stenkinevgeniy 6 years ago committed by Jan Altensen
parent 53929f79f9
commit 884938a258
No known key found for this signature in database
GPG Key ID: 3E45BB95F7AD33DA
  1. 8
      audio/voice.c

@ -153,6 +153,10 @@ void stop_voice_session_bt_sco(struct audio_device *adev) {
pcm_close(adev->pcm_sco_tx); pcm_close(adev->pcm_sco_tx);
adev->pcm_sco_tx = NULL; adev->pcm_sco_tx = NULL;
} }
/* audio codecs like wm5201 need open modem pcm while using bt sco */
if (adev->mode != AUDIO_MODE_IN_CALL)
stop_voice_session(adev->voice.session);
} }
/* must be called with the hw device mutex locked, OK to hold other mutexes */ /* must be called with the hw device mutex locked, OK to hold other mutexes */
@ -198,6 +202,10 @@ void start_voice_session_bt_sco(struct audio_device *adev)
pcm_start(adev->pcm_sco_rx); pcm_start(adev->pcm_sco_rx);
pcm_start(adev->pcm_sco_tx); pcm_start(adev->pcm_sco_tx);
/* audio codecs like wm5201 need open modem pcm while using bt sco */
if (adev->mode != AUDIO_MODE_IN_CALL)
start_voice_session(adev->voice.session);
return; return;
err_sco_tx: err_sco_tx:

Loading…
Cancel
Save