AC_SUBST(MURPHY_GLIB_CFLAGS)
AC_SUBST(MURPHY_GLIB_LIBS)
+PKG_CHECK_MODULES(DLOG, dlog)
+AC_SUBST(DLOG_CFLAGS)
+AC_SUBST(DLOG_LIBS)
+
AC_ARG_ENABLE(emulator, AC_HELP_STRING([--enable-emulator], [using emulator interface]),
[
case "${enableval}" in
Name: libmm-radio
Summary: Multimedia Framework Radio Library
-Version: 0.2.29
+Version: 0.2.30
Release: 0
Group: System/Libraries
License: Apache-2.0
Source0: %{name}-%{version}.tar.gz
Source1001: libmm-radio.manifest
-#Requires(post): /sbin/ldconfig
-#Requires(postun): /sbin/ldconfig
BuildRequires: pkgconfig(mm-common)
-BuildRequires: pkgconfig(mm-log)
+BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(mm-session)
BuildRequires: pkgconfig(mm-sound)
BuildRequires: pkgconfig(capi-media-sound-manager)
$(MMCOMMON_CFLAGS) \
$(MURPHY_RESOURCE_CFLAGS) \
$(MURPHY_GLIB_CFLAGS) \
- -DMMF_LOG_OWNER=0x200000 -DMMF_DEBUG_PREFIX=\"MM-RADIO\"
+ $(DLOG_CFLAGS)
libmmfradio_la_LIBADD = $(GTHREAD_LIBS) \
$(MMCOMMON_LIBS) \
$(MURPHY_RESOURCE_LIBS) \
- $(MURPHY_GLIB_LIBS)
+ $(MURPHY_GLIB_LIBS) \
+ $(DLOG_LIBS)
if ENABLE_EMULATOR
#include <assert.h>
#include <mm_types.h>
#include <mm_error.h>
-#include <mm_debug.h>
+#include <dlog.h>
#include <mm_message.h>
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+#define LOG_TAG "MM_RADIO"
+
/* radio log */
-#define MMRADIO_LOG_FENTER debug_fenter
-#define MMRADIO_LOG_FLEAVE debug_fleave
-#define MMRADIO_LOG_INFO debug_msg
-#define MMRADIO_LOG_DEBUG debug_log
-#define MMRADIO_LOG_ERROR debug_error
-#define MMRADIO_LOG_WARNING debug_warning
-#define MMRADIO_LOG_CRITICAL debug_critical
-#define MMRADIO_SLOG_DEBUG debug_log /* secure_debug_log */
+#define MMRADIO_LOG_FENTER(); LOGD("<Enter>");
+#define MMRADIO_LOG_FLEAVE(); LOGD("<Leave>");
+#define MMRADIO_LOG_INFO LOGI
+#define MMRADIO_LOG_DEBUG LOGD
+#define MMRADIO_LOG_ERROR LOGE
+#define MMRADIO_LOG_WARNING LOGW
+#define MMRADIO_LOG_CRITICAL LOGF
+#define MMRADIO_SLOG_DEBUG SECURE_LOGD /* secure_debug_log */
/* general */
#ifndef ARRAY_SIZE
} \
} while (0)
+#define MMRADIO_RETURN_VAL_IF_FAIL(expr, val) \
+do { \
+ if (!(expr)) { \
+ MMRADIO_LOG_WARNING("failed [%s]\n", #expr); \
+ return val; \
+ } \
+} while (0)
+
+
/* command locking for multithreading */
#define MMRADIO_CMD_LOCK(x_radio) pthread_mutex_lock(&((mm_radio_t *)x_radio)->cmd_lock)
#define MMRADIO_CMD_UNLOCK(x_radio) pthread_mutex_unlock(&((mm_radio_t *)x_radio)->cmd_lock)
MMRADIO_LOG_FENTER();
- return_val_if_fail(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
/* alloc radio structure */
new_radio = (mm_radio_t *)malloc(sizeof(mm_radio_t));
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
result = _mmradio_destroy(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
mm_radio_get_state((hradio), &state);
MMRADIO_LOG_DEBUG("mm_radio_unrealize state: %d\n", state);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(pState, MM_ERROR_COMMON_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(pState, MM_ERROR_COMMON_INVALID_ARGUMENT);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(direction >= MM_RADIO_SEEK_UP && direction <= MM_RADIO_SEEK_DOWN, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(direction >= MM_RADIO_SEEK_UP
+ && direction <= MM_RADIO_SEEK_DOWN, MM_ERROR_INVALID_ARGUMENT);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(pFreq, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(pFreq, MM_ERROR_INVALID_ARGUMENT);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
int mm_radio_get_signal_strength(MMHandleType hradio, int *value)
{
- return_val_if_fail(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(value, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(value, MM_ERROR_INVALID_ARGUMENT);
MMRADIO_LOG_FENTER();
int mm_radio_get_region_type(MMHandleType hradio, MMRadioRegionType *type)
{
MMRADIO_LOG_FENTER();
- return_val_if_fail(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(type, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(type, MM_ERROR_INVALID_ARGUMENT);
int result = MM_ERROR_NONE;
mm_radio_t *radio = (mm_radio_t *)hradio;
{
MMRADIO_LOG_FENTER();
- return_val_if_fail(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(min && max, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(min && max, MM_ERROR_INVALID_ARGUMENT);
int result = MM_ERROR_NONE;
mm_radio_t *radio = (mm_radio_t *)hradio;
{
MMRADIO_LOG_FENTER();
- return_val_if_fail(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(channel_spacing, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(hradio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(channel_spacing, MM_ERROR_INVALID_ARGUMENT);
int result = MM_ERROR_NONE;
mm_radio_t *radio = (mm_radio_t *)hradio;
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
MMRADIO_CMD_LOCK(radio);
MMRADIO_LOG_FENTER();
- return_val_if_fail(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
- return_val_if_fail(pVolume, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(radio, MM_ERROR_RADIO_NOT_INITIALIZED);
+ MMRADIO_RETURN_VAL_IF_FAIL(pVolume, MM_ERROR_INVALID_ARGUMENT);
MMRADIO_CMD_LOCK(radio);
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_FREQ);
- return_val_if_fail(pFreq, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pFreq, MM_ERROR_INVALID_ARGUMENT);
/* just return stored frequency if radio device is not ready */
if (radio->radio_fd < 0) {
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
- return_val_if_fail(pState, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pState, MM_ERROR_INVALID_ARGUMENT);
state = __mmradio_get_state(radio);
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
- return_val_if_fail(value, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(value, MM_ERROR_INVALID_ARGUMENT);
/* just return stored frequency if radio device is not ready */
if (radio->radio_fd < 0) {
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(type, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(type, MM_ERROR_INVALID_ARGUMENT);
*type = radio->region_setting.country;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(min_freq && max_freq, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(min_freq && max_freq, MM_ERROR_INVALID_ARGUMENT);
*min_freq = radio->region_setting.band_min;
*max_freq = radio->region_setting.band_max;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(ch_spacing, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(ch_spacing, MM_ERROR_INVALID_ARGUMENT);
*ch_spacing = radio->region_setting.channel_spacing;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_VOLUME);
- return_val_if_fail(pVolume, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pVolume, MM_ERROR_INVALID_ARGUMENT);
MMRADIO_SLOG_DEBUG("volume : %f\n", radio->local_volume);
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_FREQ);
- return_val_if_fail(pFreq, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pFreq, MM_ERROR_INVALID_ARGUMENT);
ret = radio_hal_get_frequency(radio->hal_inf, &freq);
if (ret != MM_ERROR_NONE) {
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
- return_val_if_fail(pState, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pState, MM_ERROR_INVALID_ARGUMENT);
state = __mmradio_get_state(radio);
MMRADIO_LOG_FENTER();
MMRADIO_CHECK_INSTANCE(radio);
- return_val_if_fail(value, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(value, MM_ERROR_INVALID_ARGUMENT);
/* just return stored frequency if radio device is not ready */
ret = radio_hal_get_signal_strength(radio->hal_inf, &strength);
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(type, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(type, MM_ERROR_INVALID_ARGUMENT);
*type = radio->region_setting.country;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(min_freq && max_freq, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(min_freq && max_freq, MM_ERROR_INVALID_ARGUMENT);
*min_freq = radio->region_setting.band_min;
*max_freq = radio->region_setting.band_max;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_REGION);
- return_val_if_fail(ch_spacing, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(ch_spacing, MM_ERROR_INVALID_ARGUMENT);
*ch_spacing = radio->region_setting.channel_spacing;
MMRADIO_CHECK_INSTANCE(radio);
MMRADIO_CHECK_STATE_RETURN_IF_FAIL(radio, MMRADIO_COMMAND_GET_VOLUME);
- return_val_if_fail(pVolume, MM_ERROR_INVALID_ARGUMENT);
+ MMRADIO_RETURN_VAL_IF_FAIL(pVolume, MM_ERROR_INVALID_ARGUMENT);
ret = radio_hal_get_volume(radio->hal_inf, &volume);
if (ret != MM_ERROR_NONE) {
#include <assert.h>
#include <unistd.h>
-#include <mm_debug.h>
#include <mm_sound.h>
#include <mm_sound_focus.h>
#include <mm_sound_device.h>