#define CLIENT_HANDLE_MAX 256
#define VOLUME_TYPE_LEN 64
-#define VOLUME_MAX_MULTIMEDIA 16
-#define VOLUME_MAX_BASIC 8
#define VCONF_KEY_VOLUME_PREFIX "file/private/sound/volume"
#define VCONF_KEY_VOLUME_TYPE_SYSTEM VCONF_KEY_VOLUME_PREFIX"/system"
VCONF_KEY_MUTE_TYPE_VOICE, /* MUTE_TYPE_VOICE */
};
-static char *g_volume_str[VOLUME_TYPE_MAX] = {
- "SYSTEM",
- "NOTIFICATION",
- "ALARM",
- "RINGTONE",
- "MEDIA",
- "CALL",
- "VOIP",
- "VOICE",
- "FIXED",
-};
-
struct callback_data {
void *user_cb;
void *user_data;
int data;
} focus_idle_event_t;
-static int _validate_volume(volume_type_t type, int level)
-{
- if (level < 0)
- return -1;
-
- switch (type) {
- case VOLUME_TYPE_CALL:
- case VOLUME_TYPE_VOIP:
- if (level >= VOLUME_MAX_BASIC) {
- return -1;
- }
- break;
- case VOLUME_TYPE_SYSTEM:
- case VOLUME_TYPE_MEDIA:
- case VOLUME_TYPE_ALARM:
- case VOLUME_TYPE_NOTIFICATION:
- case VOLUME_TYPE_RINGTONE:
- case VOLUME_TYPE_VOICE:
- if (level >= VOLUME_MAX_MULTIMEDIA) {
- return -1;
- }
- break;
- default:
- return -1;
- break;
- }
- return 0;
-}
-
int mm_sound_client_initialize(void)
{
int ret = MM_ERROR_NONE;
return MM_ERROR_INVALID_ARGUMENT;
}
- /* Check input param */
- if (0 > _validate_volume(type, (int)level)) {
- debug_error("invalid level %u of %s", level, g_volume_str[type]);
- return MM_ERROR_INVALID_ARGUMENT;
- }
-
if ((ret = __convert_volume_type_to_str(type, &type_str)) != MM_ERROR_NONE) {
debug_error("volume type convert failed");
goto failed;
if (result) {
g_variant_get(result, "(&s)", &reply);
debug_log("reply : %s", reply);
- if (strcmp(reply, "STREAM_MANAGER_RETURN_OK"))
+ if (!strcmp(reply, "STREAM_MANAGER_RETURN_ERROR_INVALID_ARGUMENT"))
+ ret = MM_ERROR_INVALID_ARGUMENT;
+ else if (strcmp(reply, "STREAM_MANAGER_RETURN_OK"))
ret = MM_ERROR_SOUND_INTERNAL;
g_variant_unref(result);
} else {