X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=testsuite%2Fmm_sound_testsuite_simple.c;h=1509653d040996c932f887c7799e026ece1ba570;hb=8e8b2c303fd4d0556b535c9069e8ff1b1dc3bbc0;hp=ac5f1477fa80270cf9777e8c3f8bc5e55f52c42f;hpb=729973cc82ee7919061c4826ecf308af997c752d;p=platform%2Fcore%2Fmultimedia%2Flibmm-sound.git diff --git a/testsuite/mm_sound_testsuite_simple.c b/testsuite/mm_sound_testsuite_simple.c index ac5f147..1509653 100755 --- a/testsuite/mm_sound_testsuite_simple.c +++ b/testsuite/mm_sound_testsuite_simple.c @@ -48,7 +48,14 @@ #define POWERON_FILE "/usr/share/keysound/poweron.ogg" #define KEYTONE_FILE "/usr/share/sounds/mm-sound/Tizen_HW_Touch.ogg" #define KEYTONE_NOTI_FILE "/usr/share/sounds/alsa/Front_Center.wav" -#define MM_SOUND_KEYTONE "MM_SOUND_KEYTONE" + +#define MM_SOUND_KEYTONE_PATH "MM_SOUND_KEYTONE_PATH" + +#define MM_SOUND_KEYTONE_COUNT "MM_SOUND_KEYTONE_COUNT" +#define MM_SOUND_KEYTONE_COUNT_MAX 10000 + +#define MM_SOUND_KEYTONE_INTERVAL "MM_SOUND_KEYTONE_INTERVAL" +#define MM_SOUND_KEYTONE_INTERVAL_MAX 10000 /* 10 sec. */ enum { CURRENT_STATUS_MAINMENU = 0, @@ -345,6 +352,29 @@ mm_sound_device_flags_e select_device_flags(void) return (no2flag(input_string[0]) | no2flag(input_string[2]) | no2flag(input_string[4])); } +static const char *env_get_str(const char *key, const char *default_str) +{ + char *env_str = getenv(key); + + return env_str ? env_str : default_str; +} + +static unsigned int env_get_uint(const char *key, unsigned int min, unsigned int max, unsigned int default_value) +{ + char *env_str = getenv(key); + unsigned int value = 0; + + if (!env_str) + return default_value; + + value = (unsigned int)atoi(env_str); + + g_assert(value >= min); + g_assert(value <= max); + + return value; +} + static void interpret(char *cmd) { int ret = 0; @@ -558,10 +588,25 @@ static void interpret(char *cmd) if (ret < 0) debug_error("keysound stop failed with 0x%x", ret); } else if (strncmp(cmd, "k", 1) == 0) { - char* env_keytone_path = getenv(MM_SOUND_KEYTONE); - ret = mm_sound_play_keysound(env_keytone_path ? env_keytone_path : KEYTONE_FILE, 0); - if (ret < 0) - debug_error("keysound play failed with 0x%x", ret); + const char* keytone_path = + env_get_str(MM_SOUND_KEYTONE_PATH, KEYTONE_FILE); + unsigned int count = + env_get_uint(MM_SOUND_KEYTONE_COUNT, 0, MM_SOUND_KEYTONE_COUNT_MAX, 1); + unsigned int interval_us = + env_get_uint(MM_SOUND_KEYTONE_INTERVAL, 0, MM_SOUND_KEYTONE_INTERVAL_MAX, 0) * 1000; + + g_message("keytone path(%s), count(%u), interval(%u us)", + keytone_path, count, interval_us); + + for (unsigned int i = 0; i < count; i++) { + ret = mm_sound_play_keysound(keytone_path, 0); + if (ret < 0) + debug_error("keysound play failed with 0x%x", ret); + + usleep(interval_us); + } + + g_message("keytone play done"); } else if (strncmp(cmd, "q", 1) == 0) { unsigned int value = 100; ret = mm_sound_volume_get_value(g_volume_type, &value);