audio: Guard WB_AMR callback

Some devices do not support this; some devices are WiFi only
and obviously do not have it.

Change-Id: I6d245eee447bd87849cbdfd41c0cf73c6af714e6
tirimbino
Christopher N. Hesse 8 years ago
parent e0058816e9
commit 74c317d1bd
  1. 11
      audio/include/samsung_audio.h
  2. 2
      audio/ril_interface.h
  3. 4
      audio/voice.c

@ -14,6 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
#include <telephony/ril.h>
#ifndef SAMSUNG_AUDIO_H #ifndef SAMSUNG_AUDIO_H
#define SAMSUNG_AUDIO_H #define SAMSUNG_AUDIO_H
@ -43,6 +45,15 @@
#define SOUND_PLAYBACK_VOICE_DEVICE 1 #define SOUND_PLAYBACK_VOICE_DEVICE 1
#define SOUND_CAPTURE_VOICE_DEVICE 1 #define SOUND_CAPTURE_VOICE_DEVICE 1
/* Wideband AMR callback */
#ifndef RIL_UNSOL_SNDMGR_WB_AMR_REPORT
#ifdef RIL_UNSOL_WB_AMR_STATE
#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT RIL_UNSOL_WB_AMR_STATE
#else
#define RIL_UNSOL_SNDMGR_WB_AMR_REPORT 0
#endif
#endif
/* Unusupported /* Unusupported
#define SOUND_CAPTURE_LOOPBACK_AEC_DEVICE 1 #define SOUND_CAPTURE_LOOPBACK_AEC_DEVICE 1
#define SOUND_CAPTURE_HOTWORD_DEVICE 0 #define SOUND_CAPTURE_HOTWORD_DEVICE 0

@ -17,7 +17,7 @@
#ifndef RIL_INTERFACE_H #ifndef RIL_INTERFACE_H
#define RIL_INTERFACE_H #define RIL_INTERFACE_H
#include <telephony/ril.h> #include <samsung_audio.h>
#include <secril-client.h> #include <secril-client.h>
typedef void (*ril_wb_amr_callback)(void *data, int enable); typedef void (*ril_wb_amr_callback)(void *data, int enable);

@ -401,6 +401,7 @@ struct voice_session *voice_session_init(struct audio_device *adev)
session->wb_amr = true; session->wb_amr = true;
ALOGV("%s: Forcing voice config: %s", __func__, voice_config); ALOGV("%s: Forcing voice config: %s", __func__, voice_config);
} else { } else {
if (RIL_UNSOL_SNDMGR_WB_AMR_REPORT > 0) {
/* register callback for wideband AMR setting */ /* register callback for wideband AMR setting */
ret = ril_set_wb_amr_callback(&session->ril, ret = ril_set_wb_amr_callback(&session->ril,
voice_session_wb_amr_callback, voice_session_wb_amr_callback,
@ -412,6 +413,9 @@ struct voice_session *voice_session_init(struct audio_device *adev)
} }
ALOGV("%s: Registered WB_AMR callback", __func__); ALOGV("%s: Registered WB_AMR callback", __func__);
} else {
ALOGV("%s: WB_AMR callback not supported", __func__);
}
} }
return session; return session;

Loading…
Cancel
Save