[UTC][capi-media-sound-manager][ACR-1278][Add new APIs for USB audio output device]
authorSangchul Lee <sc11.lee@samsung.com>
Fri, 5 Oct 2018 01:48:23 +0000 (10:48 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Fri, 5 Oct 2018 08:59:56 +0000 (17:59 +0900)
Change-Id: Ie020786f30af37efdee87160a2d161c7e81fecec
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
src/utc/sound-manager/public.list
src/utc/sound-manager/tct-sound-manager-core_mobile.h
src/utc/sound-manager/tct-sound-manager-core_tizeniot.h
src/utc/sound-manager/tct-sound-manager-core_wearable.h
src/utc/sound-manager/utc-media-sound-manager.c

index 4239a3af626bbe1ffd9d288e7e505e7d94895830..12b60d459ff0b4d432928731014110ebdee2fb92 100755 (executable)
@@ -12,6 +12,16 @@ sound_manager_get_device_name
 sound_manager_is_device_running
 sound_manager_get_device_state
 sound_manager_free_device_list
+sound_manager_get_supported_sample_formats
+sound_manager_get_sample_format
+sound_manager_set_sample_format
+sound_manager_get_supported_sample_rates
+sound_manager_get_sample_rate
+sound_manager_set_sample_rate
+sound_manager_get_media_stream_only
+sound_manager_set_media_stream_only
+sound_manager_get_avoid_resampling
+sound_manager_set_avoid_resampling
 sound_manager_add_device_connection_changed_cb
 sound_manager_remove_device_connection_changed_cb
 sound_manager_add_device_running_changed_cb
index 238fa9dbb89fc5ebf9dcc0081f2c26a868c0ea44..3708aba5b264d9070d31200495e21cd57c56ad27 100755 (executable)
@@ -53,6 +53,26 @@ extern int utc_sound_manager_get_device_state_p(void);
 extern int utc_sound_manager_get_device_state_n(void);
 extern int utc_sound_manager_free_device_list_p(void);
 extern int utc_sound_manager_free_device_list_n(void);
+extern int utc_sound_manager_get_supported_sample_formats_p(void);
+extern int utc_sound_manager_get_supported_sample_formats_n(void);
+extern int utc_sound_manager_get_sample_format_p(void);
+extern int utc_sound_manager_get_sample_format_n(void);
+extern int utc_sound_manager_set_sample_format_p(void);
+extern int utc_sound_manager_set_sample_format_n(void);
+extern int utc_sound_manager_get_supported_sample_rates_p(void);
+extern int utc_sound_manager_get_supported_sample_rates_n(void);
+extern int utc_sound_manager_get_sample_rate_p(void);
+extern int utc_sound_manager_get_sample_rate_n(void);
+extern int utc_sound_manager_set_sample_rate_p(void);
+extern int utc_sound_manager_set_sample_rate_n(void);
+extern int utc_sound_manager_get_media_stream_only_p(void);
+extern int utc_sound_manager_get_media_stream_only_n(void);
+extern int utc_sound_manager_set_media_stream_only_p(void);
+extern int utc_sound_manager_set_media_stream_only_n(void);
+extern int utc_sound_manager_get_avoid_resampling_p(void);
+extern int utc_sound_manager_get_avoid_resampling_n(void);
+extern int utc_sound_manager_set_avoid_resampling_p(void);
+extern int utc_sound_manager_set_avoid_resampling_n(void);
 extern int utc_sound_manager_create_stream_information_p(void);
 extern int utc_sound_manager_create_stream_information_n(void);
 extern int utc_sound_manager_destroy_stream_information_p(void);
@@ -158,6 +178,26 @@ testcase tc_array[] = {
        {"utc_sound_manager_get_device_state_n",utc_sound_manager_get_device_state_n,NULL,NULL},
        {"utc_sound_manager_free_device_list_p",utc_sound_manager_free_device_list_p,NULL,NULL},
        {"utc_sound_manager_free_device_list_n",utc_sound_manager_free_device_list_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_p",utc_sound_manager_get_supported_sample_formats_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_n",utc_sound_manager_get_supported_sample_formats_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_p",utc_sound_manager_get_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_n",utc_sound_manager_get_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_p",utc_sound_manager_set_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_n",utc_sound_manager_set_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_p",utc_sound_manager_get_supported_sample_rates_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_n",utc_sound_manager_get_supported_sample_rates_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_p",utc_sound_manager_get_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_n",utc_sound_manager_get_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_p",utc_sound_manager_set_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_n",utc_sound_manager_set_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_p",utc_sound_manager_get_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_n",utc_sound_manager_get_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_p",utc_sound_manager_set_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_n",utc_sound_manager_set_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_p",utc_sound_manager_get_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_n",utc_sound_manager_get_avoid_resampling_n,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_p",utc_sound_manager_set_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_n",utc_sound_manager_set_avoid_resampling_n,NULL,NULL},
        {"utc_sound_manager_create_stream_information_p",utc_sound_manager_create_stream_information_p,NULL,NULL},
        {"utc_sound_manager_create_stream_information_n",utc_sound_manager_create_stream_information_n,NULL,NULL},
        {"utc_sound_manager_destroy_stream_information_p",utc_sound_manager_destroy_stream_information_p,NULL,NULL},
index 238fa9dbb89fc5ebf9dcc0081f2c26a868c0ea44..3708aba5b264d9070d31200495e21cd57c56ad27 100755 (executable)
@@ -53,6 +53,26 @@ extern int utc_sound_manager_get_device_state_p(void);
 extern int utc_sound_manager_get_device_state_n(void);
 extern int utc_sound_manager_free_device_list_p(void);
 extern int utc_sound_manager_free_device_list_n(void);
+extern int utc_sound_manager_get_supported_sample_formats_p(void);
+extern int utc_sound_manager_get_supported_sample_formats_n(void);
+extern int utc_sound_manager_get_sample_format_p(void);
+extern int utc_sound_manager_get_sample_format_n(void);
+extern int utc_sound_manager_set_sample_format_p(void);
+extern int utc_sound_manager_set_sample_format_n(void);
+extern int utc_sound_manager_get_supported_sample_rates_p(void);
+extern int utc_sound_manager_get_supported_sample_rates_n(void);
+extern int utc_sound_manager_get_sample_rate_p(void);
+extern int utc_sound_manager_get_sample_rate_n(void);
+extern int utc_sound_manager_set_sample_rate_p(void);
+extern int utc_sound_manager_set_sample_rate_n(void);
+extern int utc_sound_manager_get_media_stream_only_p(void);
+extern int utc_sound_manager_get_media_stream_only_n(void);
+extern int utc_sound_manager_set_media_stream_only_p(void);
+extern int utc_sound_manager_set_media_stream_only_n(void);
+extern int utc_sound_manager_get_avoid_resampling_p(void);
+extern int utc_sound_manager_get_avoid_resampling_n(void);
+extern int utc_sound_manager_set_avoid_resampling_p(void);
+extern int utc_sound_manager_set_avoid_resampling_n(void);
 extern int utc_sound_manager_create_stream_information_p(void);
 extern int utc_sound_manager_create_stream_information_n(void);
 extern int utc_sound_manager_destroy_stream_information_p(void);
@@ -158,6 +178,26 @@ testcase tc_array[] = {
        {"utc_sound_manager_get_device_state_n",utc_sound_manager_get_device_state_n,NULL,NULL},
        {"utc_sound_manager_free_device_list_p",utc_sound_manager_free_device_list_p,NULL,NULL},
        {"utc_sound_manager_free_device_list_n",utc_sound_manager_free_device_list_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_p",utc_sound_manager_get_supported_sample_formats_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_n",utc_sound_manager_get_supported_sample_formats_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_p",utc_sound_manager_get_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_n",utc_sound_manager_get_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_p",utc_sound_manager_set_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_n",utc_sound_manager_set_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_p",utc_sound_manager_get_supported_sample_rates_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_n",utc_sound_manager_get_supported_sample_rates_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_p",utc_sound_manager_get_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_n",utc_sound_manager_get_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_p",utc_sound_manager_set_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_n",utc_sound_manager_set_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_p",utc_sound_manager_get_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_n",utc_sound_manager_get_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_p",utc_sound_manager_set_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_n",utc_sound_manager_set_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_p",utc_sound_manager_get_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_n",utc_sound_manager_get_avoid_resampling_n,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_p",utc_sound_manager_set_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_n",utc_sound_manager_set_avoid_resampling_n,NULL,NULL},
        {"utc_sound_manager_create_stream_information_p",utc_sound_manager_create_stream_information_p,NULL,NULL},
        {"utc_sound_manager_create_stream_information_n",utc_sound_manager_create_stream_information_n,NULL,NULL},
        {"utc_sound_manager_destroy_stream_information_p",utc_sound_manager_destroy_stream_information_p,NULL,NULL},
index 238fa9dbb89fc5ebf9dcc0081f2c26a868c0ea44..3708aba5b264d9070d31200495e21cd57c56ad27 100755 (executable)
@@ -53,6 +53,26 @@ extern int utc_sound_manager_get_device_state_p(void);
 extern int utc_sound_manager_get_device_state_n(void);
 extern int utc_sound_manager_free_device_list_p(void);
 extern int utc_sound_manager_free_device_list_n(void);
+extern int utc_sound_manager_get_supported_sample_formats_p(void);
+extern int utc_sound_manager_get_supported_sample_formats_n(void);
+extern int utc_sound_manager_get_sample_format_p(void);
+extern int utc_sound_manager_get_sample_format_n(void);
+extern int utc_sound_manager_set_sample_format_p(void);
+extern int utc_sound_manager_set_sample_format_n(void);
+extern int utc_sound_manager_get_supported_sample_rates_p(void);
+extern int utc_sound_manager_get_supported_sample_rates_n(void);
+extern int utc_sound_manager_get_sample_rate_p(void);
+extern int utc_sound_manager_get_sample_rate_n(void);
+extern int utc_sound_manager_set_sample_rate_p(void);
+extern int utc_sound_manager_set_sample_rate_n(void);
+extern int utc_sound_manager_get_media_stream_only_p(void);
+extern int utc_sound_manager_get_media_stream_only_n(void);
+extern int utc_sound_manager_set_media_stream_only_p(void);
+extern int utc_sound_manager_set_media_stream_only_n(void);
+extern int utc_sound_manager_get_avoid_resampling_p(void);
+extern int utc_sound_manager_get_avoid_resampling_n(void);
+extern int utc_sound_manager_set_avoid_resampling_p(void);
+extern int utc_sound_manager_set_avoid_resampling_n(void);
 extern int utc_sound_manager_create_stream_information_p(void);
 extern int utc_sound_manager_create_stream_information_n(void);
 extern int utc_sound_manager_destroy_stream_information_p(void);
@@ -158,6 +178,26 @@ testcase tc_array[] = {
        {"utc_sound_manager_get_device_state_n",utc_sound_manager_get_device_state_n,NULL,NULL},
        {"utc_sound_manager_free_device_list_p",utc_sound_manager_free_device_list_p,NULL,NULL},
        {"utc_sound_manager_free_device_list_n",utc_sound_manager_free_device_list_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_p",utc_sound_manager_get_supported_sample_formats_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_formats_n",utc_sound_manager_get_supported_sample_formats_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_p",utc_sound_manager_get_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_format_n",utc_sound_manager_get_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_p",utc_sound_manager_set_sample_format_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_format_n",utc_sound_manager_set_sample_format_n,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_p",utc_sound_manager_get_supported_sample_rates_p,NULL,NULL},
+       {"utc_sound_manager_get_supported_sample_rates_n",utc_sound_manager_get_supported_sample_rates_n,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_p",utc_sound_manager_get_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_get_sample_rate_n",utc_sound_manager_get_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_p",utc_sound_manager_set_sample_rate_p,NULL,NULL},
+       {"utc_sound_manager_set_sample_rate_n",utc_sound_manager_set_sample_rate_n,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_p",utc_sound_manager_get_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_get_media_stream_only_n",utc_sound_manager_get_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_p",utc_sound_manager_set_media_stream_only_p,NULL,NULL},
+       {"utc_sound_manager_set_media_stream_only_n",utc_sound_manager_set_media_stream_only_n,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_p",utc_sound_manager_get_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_get_avoid_resampling_n",utc_sound_manager_get_avoid_resampling_n,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_p",utc_sound_manager_set_avoid_resampling_p,NULL,NULL},
+       {"utc_sound_manager_set_avoid_resampling_n",utc_sound_manager_set_avoid_resampling_n,NULL,NULL},
        {"utc_sound_manager_create_stream_information_p",utc_sound_manager_create_stream_information_p,NULL,NULL},
        {"utc_sound_manager_create_stream_information_n",utc_sound_manager_create_stream_information_n,NULL,NULL},
        {"utc_sound_manager_destroy_stream_information_p",utc_sound_manager_destroy_stream_information_p,NULL,NULL},
index 77d63eede46eb484d616d961add1eed88f15dec9..4fb16cee6276972bf247329ba134bae92a57a203 100755 (executable)
        assert_eq(ret, SOUND_MANAGER_ERROR_NONE); \
 } while (0)
 
+#define GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret) do { \
+       ret = sound_manager_get_device_list(SOUND_DEVICE_ALL_MASK, &list); \
+       if (ret == SOUND_MANAGER_ERROR_NO_DATA) \
+               return 0; \
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE); \
+       while (!(ret = sound_manager_get_next_device(list, &device))) { \
+               sound_device_type_e type; \
+               sound_device_io_direction_e direction; \
+               if (!(ret = sound_manager_get_device_type(device, &type)) && (type == SOUND_DEVICE_USB_AUDIO)) \
+                       if (!(ret = sound_manager_get_device_io_direction(device, &direction)) && (direction == SOUND_DEVICE_IO_DIRECTION_OUT)) \
+                               break; \
+       } \
+       if (ret == SOUND_MANAGER_ERROR_NONE) { \
+               /* found */ \
+       } else if (ret == SOUND_MANAGER_ERROR_NO_DATA) { \
+               /* nomarl operation */ \
+               return 0; \
+       } else { \
+               /* error */ \
+               return 1; \
+       } \
+} while (0)
+
 static void _sound_stream_focus_state_changed_cb(sound_stream_info_h stream_info, sound_stream_focus_mask_e focus_mask, sound_stream_focus_state_e focus_state, 
                                                  sound_stream_focus_change_reason_e reason_for_change, int sound_behaviors, const char *additional_info, void *user_data)
 {
@@ -735,6 +758,434 @@ int utc_sound_manager_free_device_list_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_sound_manager_get_supported_sample_formats_p
+ * @since_tizen                5.0
+ * @description                Gets supported sample format list
+ *                             - Find USB output device before getting the supported sample formats
+ */
+int utc_sound_manager_get_supported_sample_formats_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_format_e *formats = NULL;
+       unsigned int num;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_supported_sample_formats(device, &formats, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       free(formats);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_supported_sample_formats_n
+ * @since_tizen                5.0
+ * @description                Gets supported sample format list
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_supported_sample_formats_n(void)
+{
+       int ret;
+       sound_sample_format_e *formats = NULL;
+       unsigned int num;
+
+       ret = sound_manager_get_supported_sample_formats(NULL, &formats, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_sample_format_p
+ * @since_tizen                5.0
+ * @description                Gets the current sample format
+ *                             - Find USB output device before getting the current sample format
+ */
+int utc_sound_manager_get_sample_format_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_format_e format;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_sample_format(device, &format);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_sample_format_n
+ * @since_tizen                5.0
+ * @description                Gets the current sample format
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_sample_format_n(void)
+{
+       int ret;
+       sound_sample_format_e format;
+
+       ret = sound_manager_get_sample_format(NULL, &format);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_sample_format_p
+ * @since_tizen                5.0
+ * @description                Sets sample format
+ *                             - Find USB output device before setting the sample format
+ */
+int utc_sound_manager_set_sample_format_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_format_e *formats = NULL;
+       unsigned int num;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_supported_sample_formats(device, &formats, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_set_sample_format(device, formats[0]);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       free(formats);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/*
+ * @testcase           utc_sound_manager_set_sample_format_n
+ * @since_tizen                5.0
+ * @description                Sets sample format
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_set_sample_format_n(void)
+{
+       int ret;
+       sound_sample_format_e format = SOUND_SAMPLE_FORMAT_S16_LE;
+
+       ret = sound_manager_set_sample_format(NULL, format);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_supported_sample_rates_p
+ * @since_tizen                5.0
+ * @description                Gets supported sample rate list
+ *                             - Find USB output device before getting the supported sample rates
+ */
+int utc_sound_manager_get_supported_sample_rates_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_rate_e *rates = NULL;
+       unsigned int num;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_supported_sample_rates(device, &rates, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       if (rates)
+               free(rates);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_supported_sample_rates_n
+ * @since_tizen                5.0
+ * @description                Gets supported sample rate list
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_supported_sample_rates_n(void)
+{
+       int ret;
+       sound_sample_rate_e *rates = NULL;
+       unsigned int num;
+
+       ret = sound_manager_get_supported_sample_rates(NULL, &rates, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_sample_rate_p
+ * @since_tizen                5.0
+ * @description                Gets the current sample rate
+ *                             - Find USB output device before getting the current sample rate
+ */
+int utc_sound_manager_get_sample_rate_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_rate_e rate;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_sample_rate(device, &rate);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_sample_rate_n
+ * @since_tizen                5.0
+ * @description                Gets the current sample rate
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_sample_rate_n(void)
+{
+       int ret;
+       sound_sample_rate_e rate;
+
+       ret = sound_manager_get_sample_rate(NULL, &rate);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_sample_rate_p
+ * @since_tizen                5.0
+ * @description                Sets sample rate
+ *                             - Find USB output device before setting the sample rate
+ */
+int utc_sound_manager_set_sample_rate_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       sound_sample_rate_e *rates = NULL;
+       unsigned int num;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_supported_sample_rates(device, &rates, &num);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_set_sample_rate(device, rates[0]);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       free(rates);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/*
+ * @testcase           utc_sound_manager_set_sample_rate_n
+ * @since_tizen                5.0
+ * @description                Sets sample rate
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_set_sample_rate_n(void)
+{
+       int ret;
+       sound_sample_rate_e rate = SOUND_SAMPLE_RATE_44100;
+
+       ret = sound_manager_set_sample_rate(NULL, rate);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_media_stream_only_p
+ * @since_tizen                5.0
+ * @description                Gets the value of 'media stream only' property
+ *                             - Find USB output device before getting the 'media stream only'
+ */
+int utc_sound_manager_get_media_stream_only_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       bool enabled;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_media_stream_only(device, &enabled);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_media_stream_only_n
+ * @since_tizen                5.0
+ * @description                Gets the value of 'media stream only' property
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_media_stream_only_n(void)
+{
+       int ret;
+       bool enabled;
+
+       ret = sound_manager_get_media_stream_only(NULL, &enabled);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_media_stream_only_p
+ * @since_tizen                5.0
+ * @description                Sets the value of 'media stream only' property
+ *                             - Find USB output device before setting the 'media stream only'
+ */
+int utc_sound_manager_set_media_stream_only_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_set_media_stream_only(device, false);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_media_stream_only_n
+ * @since_tizen                5.0
+ * @description                Sets the value of 'media stream only' property
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_set_media_stream_only_n(void)
+{
+       int ret;
+
+       ret = sound_manager_set_media_stream_only(NULL, false);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_avoid_resampling_p
+ * @since_tizen                5.0
+ * @description                Gets the value of 'avoid resampling' property
+ *                             - Find USB output device before getting the 'avoid resampling'
+ */
+int utc_sound_manager_get_avoid_resampling_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+       bool enabled;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_get_avoid_resampling(device, &enabled);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_get_avoid_resampling_n
+ * @since_tizen                5.0
+ * @description                Gets the value of 'avoid resampling' property
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_get_avoid_resampling_n(void)
+{
+       int ret;
+       bool enabled;
+
+       ret = sound_manager_get_avoid_resampling(NULL, &enabled);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_avoid_resampling_p
+ * @since_tizen                5.0
+ * @description                Sets the value of 'avoid resampling' property
+ *                             - Find USB output device before setting the 'avoid resampling'
+ */
+int utc_sound_manager_set_avoid_resampling_p(void)
+{
+       int ret;
+       sound_device_list_h list;
+       sound_device_h device;
+
+       GET_LIST_N_GET_USB_OUTPUT_DEVICE(list, device, ret);
+
+       ret = sound_manager_set_avoid_resampling(device, false);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       ret = sound_manager_free_device_list(list);
+       assert_eq(ret, SOUND_MANAGER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_sound_manager_set_avoid_resampling_n
+ * @since_tizen                5.0
+ * @description                Sets the value of 'avoid resampling' property
+ *                             - Pass invalid parameter to get negative result
+ */
+int utc_sound_manager_set_avoid_resampling_n(void)
+{
+       int ret;
+
+       ret = sound_manager_set_avoid_resampling(NULL, false);
+       assert_eq(ret, SOUND_MANAGER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+
 /**
  * @testcase           utc_sound_manager_create_stream_information_p
  * @since_tizen                3.0