Loading hal/audio_hw.c +6 −0 Original line number Diff line number Diff line Loading @@ -7751,6 +7751,7 @@ static int adev_set_mode(struct audio_hw_device *dev, audio_mode_t mode) struct listnode *node; struct audio_usecase *usecase = NULL; int ret = 0; pthread_mutex_lock(&adev->lock); if (adev->mode != mode) { ALOGD("%s: mode %d\n", __func__, mode); Loading @@ -7777,6 +7778,11 @@ static int adev_set_mode(struct audio_hw_device *dev, audio_mode_t mode) voice_stop_call(adev); platform_set_gsm_mode(adev->platform, false); adev->current_call_output = NULL; // restore device for other active usecases after stop call list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); select_devices(adev, usecase->id); } } } pthread_mutex_unlock(&adev->lock); Loading Loading
hal/audio_hw.c +6 −0 Original line number Diff line number Diff line Loading @@ -7751,6 +7751,7 @@ static int adev_set_mode(struct audio_hw_device *dev, audio_mode_t mode) struct listnode *node; struct audio_usecase *usecase = NULL; int ret = 0; pthread_mutex_lock(&adev->lock); if (adev->mode != mode) { ALOGD("%s: mode %d\n", __func__, mode); Loading @@ -7777,6 +7778,11 @@ static int adev_set_mode(struct audio_hw_device *dev, audio_mode_t mode) voice_stop_call(adev); platform_set_gsm_mode(adev->platform, false); adev->current_call_output = NULL; // restore device for other active usecases after stop call list_for_each(node, &adev->usecase_list) { usecase = node_to_item(node, struct audio_usecase, list); select_devices(adev, usecase->id); } } } pthread_mutex_unlock(&adev->lock); Loading