From: Seungbae Shin Date: Tue, 26 Mar 2019 06:25:37 +0000 (+0900) Subject: Force to use earjack only for headless profile X-Git-Tag: submit/tizen/20190327.104232^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2029d986506f9a9974aad29d2a20af4119755bb5;p=platform%2Fadaptation%2Fap_broadcom%2Faudio-hal-bcm2837.git Force to use earjack only for headless profile [Version] 0.1.3 [Issue Type] Add Change-Id: Ic4142c971ac9c8a623b78c285b7c97d1ab40929b --- diff --git a/Makefile.am b/Makefile.am index 2543080..b93a076 100644 --- a/Makefile.am +++ b/Makefile.am @@ -10,12 +10,11 @@ libtizen_audio_la_SOURCES = tizen-audio.c \ tizen-audio-impl-ucm.c \ tizen-audio-impl-ctrl.c libtizen_audio_la_LDFLAGS = $(AM_LDFLAGS) -disable-static -avoid-version +libtizen_audio_la_LIBADD = $(AM_LDADD) $(ASOUNDLIB_LIBS) $(VCONF_LIBS) $(DLOG_LIBS) $(INIPARSER_LIBS) $(SYSTEM_INFO_LIBS) +libtizen_audio_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) $(VCONF_CFLAGS) $(DLOG_CFLAGS) $(INIPARSER_CFLAGS) $(SYSTEM_INFO_CFLAGS) -DUSE_DLOG + if USE_TINYALSA -libtizen_audio_la_LIBADD = $(AM_LDADD) $(ASOUNDLIB_LIBS) $(TINYALSA_LIBS) $(VCONF_LIBS) $(DLOG_LIBS) $(INIPARSER_LIBS) -libtizen_audio_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) $(TINYALSA_CFLAGS) $(VCONF_CFLAGS) $(DLOG_CFLAGS) $(INIPARSER_CFLAGS) -D__USE_TINYALSA__ -else -libtizen_audio_la_LIBADD = $(AM_LDADD) $(ASOUNDLIB_LIBS) $(VCONF_LIBS) $(DLOG_LIBS) $(INIPARSER_LIBS) -libtizen_audio_la_CFLAGS = $(AM_CFLAGS) $(ASOUNDLIB_CFLAGS) $(VCONF_CFLAGS) $(DLOG_CFLAGS) $(INIPARSER_CFLAGS) +libtizen_audio_la_LIBADD += $(TINYALSA_LIBS) +libtizen_audio_la_CFLAGS += $(TINYALSA_CFLAGS) -D__USE_TINYALSA__ endif -libtizen_audio_la_CFLAGS += -DUSE_DLOG diff --git a/configure.ac b/configure.ac index 5f221f2..a8b820b 100644 --- a/configure.ac +++ b/configure.ac @@ -47,6 +47,10 @@ PKG_CHECK_MODULES(DLOG, dlog) AC_SUBST(DLOG_CFLAGS) AC_SUBST(DLOG_LIBS) +PKG_CHECK_MODULES(SYSTEM_INFO, capi-system-info) +AC_SUBST(SYSTEM_INFO_CFLAGS) +AC_SUBST(SYSTEM_INFO_LIBS) + # Checks for header files. # Checks for typedefs, structures, and compiler characteristics. diff --git a/packaging/audio-hal-bcm2837.spec b/packaging/audio-hal-bcm2837.spec index 5f1dfed..f4b77fb 100644 --- a/packaging/audio-hal-bcm2837.spec +++ b/packaging/audio-hal-bcm2837.spec @@ -1,6 +1,6 @@ Name: audio-hal-bcm2837 Summary: TIZEN Audio HAL for BCM2837 -Version: 0.1.2 +Version: 0.1.3 Release: 0 Group: System/Libraries License: Apache-2.0 @@ -10,6 +10,7 @@ BuildRequires: pkgconfig(vconf) BuildRequires: pkgconfig(iniparser) BuildRequires: pkgconfig(dlog) BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(capi-system-info) #BuildRequires: pkgconfig(tinyalsa) Provides: libtizen-audio.so diff --git a/tizen-audio-routing.c b/tizen-audio-routing.c index 0cdadb6..b78473f 100644 --- a/tizen-audio-routing.c +++ b/tizen-audio-routing.c @@ -29,6 +29,9 @@ #include "tizen-audio-internal.h" #include "tizen-audio-impl.h" +#include +#define FEATURE_DISPLAY_STATE "http://tizen.org/feature/display.state" + /* #define DEBUG_TIMING */ static device_type_t outDeviceTypes[] = { @@ -260,6 +263,23 @@ static audio_return_t __update_route_reset(audio_hal_t *ah, uint32_t direction) return audio_ret; } +static void __audio_routing_playback_rpi3(audio_hal_t *ah) +{ + bool display_enable = false; + int ret = SYSTEM_INFO_ERROR_NONE; + + ret = system_info_get_platform_bool(FEATURE_DISPLAY_STATE, &display_enable); + AUDIO_LOG_INFO("system_info_platform [%s]=[%d], ret[%d]", FEATURE_DISPLAY_STATE, display_enable, ret); + if (ret != SYSTEM_INFO_ERROR_NONE) + AUDIO_LOG_ERROR("Failed to get feature..."); + + if (!display_enable) { + /* no hdmi support means headless, force to use earjack(1) only. + supported value : (0)auto (1)earjack (2)hdmi */ + _mixer_control_set_value(ah, "PCM Playback Route", 1); + } +} + audio_return_t _audio_routing_init(audio_hal_t *ah) { audio_return_t audio_ret = AUDIO_RET_OK; @@ -273,6 +293,9 @@ audio_return_t _audio_routing_init(audio_hal_t *ah) if ((audio_ret = _ucm_init(ah))) AUDIO_LOG_ERROR("failed to _ucm_init(), ret(0x%x)", audio_ret); + /* additional setting for rpi3 playback route mixer control */ + __audio_routing_playback_rpi3(ah); + return audio_ret; }