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
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.
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
BuildRequires: pkgconfig(iniparser)
BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(alsa)
+BuildRequires: pkgconfig(capi-system-info)
#BuildRequires: pkgconfig(tinyalsa)
Provides: libtizen-audio.so
#include "tizen-audio-internal.h"
#include "tizen-audio-impl.h"
+#include <system_info.h>
+#define FEATURE_DISPLAY_STATE "http://tizen.org/feature/display.state"
+
/* #define DEBUG_TIMING */
static device_type_t outDeviceTypes[] = {
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;
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;
}