#include "tizen-audio-internal.h"
#include "tizen-audio-impl.h"
-#include <vconf.h>
-
/* #define DEBUG_TIMING */
static device_type_s outDeviceTypes[] = {
{
audio_return_e audio_ret = AUDIO_RET_OK;
audio_hal_s *ah = (audio_hal_s *)audio_handle;
- int ret;
AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
AUDIO_RETURN_VAL_IF_FAIL(option, AUDIO_ERR_PARAMETER);
AUDIO_LOG_INFO("role:%s, name:%s, value:%d", option->role, option->name, option->value);
- if (!strcmp("rpi playback route", option->name)) {
- audio_ret = _mixer_control_set_value(ah, "PCM Playback Route", option->value);
- if (audio_ret == AUDIO_RET_OK) {
- ret = vconf_set_int(VCONFKEY_SOUND_RPI_PLAYBACK_ROUTE, option->value);
- if (ret != 0) {
- AUDIO_LOG_ERROR("Failed to set vconf [%s], err [%d]", VCONFKEY_SOUND_RPI_PLAYBACK_ROUTE, ret);
- return AUDIO_ERR_INTERNAL;
- }
- }
- }
-
return audio_ret;
}
#include <stdlib.h>
#include <string.h>
#include <math.h>
-#include <vconf.h>
#include <iniparser.h>
#include "tizen-audio-internal.h"
uint32_t g_master_volume_level = 100;
-static const char *g_volume_vconf[AUDIO_VOLUME_TYPE_MAX] = {
- "file/private/sound/volume/system", /* AUDIO_VOLUME_TYPE_SYSTEM */
- "file/private/sound/volume/notification", /* AUDIO_VOLUME_TYPE_NOTIFICATION */
- "file/private/sound/volume/alarm", /* AUDIO_VOLUME_TYPE_ALARM */
- "file/private/sound/volume/ringtone", /* AUDIO_VOLUME_TYPE_RINGTONE */
- "file/private/sound/volume/media", /* AUDIO_VOLUME_TYPE_MEDIA */
- "file/private/sound/volume/call", /* AUDIO_VOLUME_TYPE_CALL */
- "file/private/sound/volume/voip", /* AUDIO_VOLUME_TYPE_VOIP */
- "file/private/sound/volume/voice", /* AUDIO_VOLUME_TYPE_VOICE */
-};
-
static const char *__get_volume_type_string_by_idx(uint32_t vol_type_idx)
{
switch (vol_type_idx) {
audio_return_e _audio_volume_init(audio_hal_s *ah)
{
- int i;
- int val = 0;
audio_return_e audio_ret = AUDIO_RET_OK;
- int init_value[AUDIO_VOLUME_TYPE_MAX] = { 9, 11, 7, 11, 7, 4, 4, 7 };
AUDIO_RETURN_VAL_IF_FAIL(ah, AUDIO_ERR_PARAMETER);
- for (i = 0; i < AUDIO_VOLUME_TYPE_MAX; i++) {
- ah->volume.volume_level[i] = init_value[i];
- }
-
- for (i = 0; i < AUDIO_VOLUME_TYPE_MAX; i++) {
- /* Get volume value string from VCONF */
- if (vconf_get_int(g_volume_vconf[i], &val) < 0) {
- AUDIO_LOG_ERROR("vconf_get_int(%s) failed", g_volume_vconf[i]);
- continue;
- }
-
- AUDIO_LOG_INFO("read vconf. %s = %d", g_volume_vconf[i], val);
- ah->volume.volume_level[i] = val;
- }
-
if (!(ah->volume.volume_value_table = malloc(AUDIO_VOLUME_DEVICE_MAX * sizeof(audio_volume_value_table_s)))) {
AUDIO_LOG_ERROR("volume_value_table malloc failed");
return AUDIO_ERR_RESOURCE;
return AUDIO_RET_OK;
}
- *level = ah->volume.volume_level[__get_volume_idx_by_string_type(info->type)];
-
- AUDIO_LOG_INFO("get [%s] volume_level: %d, direction(%d)", info->type, *level, info->direction);
-
return AUDIO_RET_OK;
}
}
AUDIO_RETURN_VAL_IF_FAIL((ah->volume.volume_level_max[__get_volume_idx_by_string_type(info->type)] >= level), AUDIO_ERR_PARAMETER);
- /* Update volume level */
- ah->volume.volume_level[__get_volume_idx_by_string_type(info->type)] = level;
- AUDIO_LOG_INFO("set [%s] volume_level: %d, direction(%d)", info->type, level, info->direction);
-
- /* set mixer related to H/W volume if needed */
-
return audio_ret;
}