[UTC][capi-media-controller][ACR-1428]Add new APIs for ability 22/212522/5
authorhj kim <backto.kim@samsung.com>
Thu, 22 Aug 2019 09:33:59 +0000 (18:33 +0900)
committerhj kim <backto.kim@samsung.com>
Mon, 26 Aug 2019 23:39:33 +0000 (08:39 +0900)
Change-Id: Icb408ba216845e7dbf639d259674315690d3f938

src/utc/media-controller/public.list
src/utc/media-controller/tct-media-controller-core_mobile.h
src/utc/media-controller/tct-media-controller-core_tizeniot.h
src/utc/media-controller/tct-media-controller-core_wearable.h
src/utc/media-controller/utc-media-controller-common.c
src/utc/media-controller/utc-media-controller-common.h
src/utc/media-controller/utc-media-controller.c

index 430e5398e044c52d8d2a965b7cc07db1a3f24662..cb1ccf5ac40e86587585ba2e08f0489a9cf71bea 100644 (file)
@@ -118,4 +118,8 @@ utc_mc_search_set_condition
 utc_mc_search_get_condition_count
 utc_mc_search_foreach_condition
 utc_mc_search_clone
-utc_mc_search_destroy
\ No newline at end of file
+utc_mc_search_destroy
+utc_mc_server_set_ability_support
+utc_mc_client_set_ability_support_updated_cb
+utc_mc_client_unset_ability_support_updated_cb
+utc_mc_client_get_server_ability_support
index 3142e832153e53ce007f1e619c6b000c176b54b4..5241c9145f7b58ca64740097d1a8ae7ac5bd5a10 100644 (file)
@@ -46,6 +46,8 @@ extern int utc_mc_server_set_shuffle_ability_p(void);
 extern int utc_mc_server_set_shuffle_ability_n(void);
 extern int utc_mc_server_set_repeat_ability_p(void);
 extern int utc_mc_server_set_repeat_ability_n(void);
+extern int utc_mc_server_set_ability_support_p(void);
+extern int utc_mc_server_set_ability_support_n(void);
 extern int utc_mc_server_update_playback_info_p(void);
 extern int utc_mc_server_update_playback_info_n(void);
 extern int utc_mc_server_update_metadata_p(void);
@@ -143,6 +145,10 @@ extern int utc_mc_client_set_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_set_repeat_ability_updated_cb_n(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_n(void);
+extern int utc_mc_client_set_ability_support_updated_cb_p(void);
+extern int utc_mc_client_set_ability_support_updated_cb_n(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_p(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_n(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_p(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_n(void);
 extern int utc_mc_client_unset_cmd_reply_received_cb_p(void);
@@ -175,6 +181,8 @@ extern int utc_mc_client_get_server_shuffle_ability_support_p(void);
 extern int utc_mc_client_get_server_shuffle_ability_support_n(void);
 extern int utc_mc_client_get_server_repeat_ability_support_p(void);
 extern int utc_mc_client_get_server_repeat_ability_support_n(void);
+extern int utc_mc_client_get_server_ability_support_p(void);
+extern int utc_mc_client_get_server_ability_support_n(void);
 extern int utc_mc_client_foreach_server_p(void);
 extern int utc_mc_client_foreach_server_n(void);
 extern int utc_mc_client_send_playback_action_cmd_p(void);
@@ -294,6 +302,8 @@ testcase tc_array[] = {
        {"utc_mc_server_set_shuffle_ability_n",utc_mc_server_set_shuffle_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_p",utc_mc_server_set_repeat_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_n",utc_mc_server_set_repeat_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_p",utc_mc_server_set_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_n",utc_mc_server_set_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_p",utc_mc_server_update_playback_info_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_n",utc_mc_server_update_playback_info_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_metadata_p",utc_mc_server_update_metadata_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -390,6 +400,10 @@ testcase tc_array[] = {
        {"utc_mc_client_set_repeat_ability_updated_cb_n",utc_mc_client_set_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_p",utc_mc_client_unset_repeat_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_n",utc_mc_client_unset_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_p",utc_mc_client_set_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_n",utc_mc_client_set_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_p",utc_mc_client_unset_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_n",utc_mc_client_unset_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_p",utc_mc_client_set_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_n",utc_mc_client_set_cmd_reply_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_cmd_reply_received_cb_p",utc_mc_client_unset_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -422,6 +436,8 @@ testcase tc_array[] = {
        {"utc_mc_client_get_server_shuffle_ability_support_n",utc_mc_client_get_server_shuffle_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_p",utc_mc_client_get_server_repeat_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_n",utc_mc_client_get_server_repeat_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_p",utc_mc_client_get_server_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_n",utc_mc_client_get_server_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_p",utc_mc_client_foreach_server_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_n",utc_mc_client_foreach_server_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_send_playback_action_cmd_p",utc_mc_client_send_playback_action_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
index 3142e832153e53ce007f1e619c6b000c176b54b4..5241c9145f7b58ca64740097d1a8ae7ac5bd5a10 100644 (file)
@@ -46,6 +46,8 @@ extern int utc_mc_server_set_shuffle_ability_p(void);
 extern int utc_mc_server_set_shuffle_ability_n(void);
 extern int utc_mc_server_set_repeat_ability_p(void);
 extern int utc_mc_server_set_repeat_ability_n(void);
+extern int utc_mc_server_set_ability_support_p(void);
+extern int utc_mc_server_set_ability_support_n(void);
 extern int utc_mc_server_update_playback_info_p(void);
 extern int utc_mc_server_update_playback_info_n(void);
 extern int utc_mc_server_update_metadata_p(void);
@@ -143,6 +145,10 @@ extern int utc_mc_client_set_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_set_repeat_ability_updated_cb_n(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_n(void);
+extern int utc_mc_client_set_ability_support_updated_cb_p(void);
+extern int utc_mc_client_set_ability_support_updated_cb_n(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_p(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_n(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_p(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_n(void);
 extern int utc_mc_client_unset_cmd_reply_received_cb_p(void);
@@ -175,6 +181,8 @@ extern int utc_mc_client_get_server_shuffle_ability_support_p(void);
 extern int utc_mc_client_get_server_shuffle_ability_support_n(void);
 extern int utc_mc_client_get_server_repeat_ability_support_p(void);
 extern int utc_mc_client_get_server_repeat_ability_support_n(void);
+extern int utc_mc_client_get_server_ability_support_p(void);
+extern int utc_mc_client_get_server_ability_support_n(void);
 extern int utc_mc_client_foreach_server_p(void);
 extern int utc_mc_client_foreach_server_n(void);
 extern int utc_mc_client_send_playback_action_cmd_p(void);
@@ -294,6 +302,8 @@ testcase tc_array[] = {
        {"utc_mc_server_set_shuffle_ability_n",utc_mc_server_set_shuffle_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_p",utc_mc_server_set_repeat_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_n",utc_mc_server_set_repeat_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_p",utc_mc_server_set_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_n",utc_mc_server_set_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_p",utc_mc_server_update_playback_info_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_n",utc_mc_server_update_playback_info_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_metadata_p",utc_mc_server_update_metadata_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -390,6 +400,10 @@ testcase tc_array[] = {
        {"utc_mc_client_set_repeat_ability_updated_cb_n",utc_mc_client_set_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_p",utc_mc_client_unset_repeat_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_n",utc_mc_client_unset_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_p",utc_mc_client_set_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_n",utc_mc_client_set_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_p",utc_mc_client_unset_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_n",utc_mc_client_unset_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_p",utc_mc_client_set_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_n",utc_mc_client_set_cmd_reply_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_cmd_reply_received_cb_p",utc_mc_client_unset_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -422,6 +436,8 @@ testcase tc_array[] = {
        {"utc_mc_client_get_server_shuffle_ability_support_n",utc_mc_client_get_server_shuffle_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_p",utc_mc_client_get_server_repeat_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_n",utc_mc_client_get_server_repeat_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_p",utc_mc_client_get_server_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_n",utc_mc_client_get_server_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_p",utc_mc_client_foreach_server_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_n",utc_mc_client_foreach_server_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_send_playback_action_cmd_p",utc_mc_client_send_playback_action_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
index 3142e832153e53ce007f1e619c6b000c176b54b4..5241c9145f7b58ca64740097d1a8ae7ac5bd5a10 100644 (file)
@@ -46,6 +46,8 @@ extern int utc_mc_server_set_shuffle_ability_p(void);
 extern int utc_mc_server_set_shuffle_ability_n(void);
 extern int utc_mc_server_set_repeat_ability_p(void);
 extern int utc_mc_server_set_repeat_ability_n(void);
+extern int utc_mc_server_set_ability_support_p(void);
+extern int utc_mc_server_set_ability_support_n(void);
 extern int utc_mc_server_update_playback_info_p(void);
 extern int utc_mc_server_update_playback_info_n(void);
 extern int utc_mc_server_update_metadata_p(void);
@@ -143,6 +145,10 @@ extern int utc_mc_client_set_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_set_repeat_ability_updated_cb_n(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_p(void);
 extern int utc_mc_client_unset_repeat_ability_updated_cb_n(void);
+extern int utc_mc_client_set_ability_support_updated_cb_p(void);
+extern int utc_mc_client_set_ability_support_updated_cb_n(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_p(void);
+extern int utc_mc_client_unset_ability_support_updated_cb_n(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_p(void);
 extern int utc_mc_client_set_cmd_reply_received_cb_n(void);
 extern int utc_mc_client_unset_cmd_reply_received_cb_p(void);
@@ -175,6 +181,8 @@ extern int utc_mc_client_get_server_shuffle_ability_support_p(void);
 extern int utc_mc_client_get_server_shuffle_ability_support_n(void);
 extern int utc_mc_client_get_server_repeat_ability_support_p(void);
 extern int utc_mc_client_get_server_repeat_ability_support_n(void);
+extern int utc_mc_client_get_server_ability_support_p(void);
+extern int utc_mc_client_get_server_ability_support_n(void);
 extern int utc_mc_client_foreach_server_p(void);
 extern int utc_mc_client_foreach_server_n(void);
 extern int utc_mc_client_send_playback_action_cmd_p(void);
@@ -294,6 +302,8 @@ testcase tc_array[] = {
        {"utc_mc_server_set_shuffle_ability_n",utc_mc_server_set_shuffle_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_p",utc_mc_server_set_repeat_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_set_repeat_ability_n",utc_mc_server_set_repeat_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_p",utc_mc_server_set_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_ability_support_n",utc_mc_server_set_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_p",utc_mc_server_update_playback_info_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_playback_info_n",utc_mc_server_update_playback_info_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_server_update_metadata_p",utc_mc_server_update_metadata_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -390,6 +400,10 @@ testcase tc_array[] = {
        {"utc_mc_client_set_repeat_ability_updated_cb_n",utc_mc_client_set_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_p",utc_mc_client_unset_repeat_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_repeat_ability_updated_cb_n",utc_mc_client_unset_repeat_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_p",utc_mc_client_set_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_ability_support_updated_cb_n",utc_mc_client_set_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_p",utc_mc_client_unset_ability_support_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_ability_support_updated_cb_n",utc_mc_client_unset_ability_support_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_p",utc_mc_client_set_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_set_cmd_reply_received_cb_n",utc_mc_client_set_cmd_reply_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_unset_cmd_reply_received_cb_p",utc_mc_client_unset_cmd_reply_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
@@ -422,6 +436,8 @@ testcase tc_array[] = {
        {"utc_mc_client_get_server_shuffle_ability_support_n",utc_mc_client_get_server_shuffle_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_p",utc_mc_client_get_server_repeat_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_get_server_repeat_ability_support_n",utc_mc_client_get_server_repeat_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_p",utc_mc_client_get_server_ability_support_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_ability_support_n",utc_mc_client_get_server_ability_support_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_p",utc_mc_client_foreach_server_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_foreach_server_n",utc_mc_client_foreach_server_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_client_send_playback_action_cmd_p",utc_mc_client_send_playback_action_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
index edfe06c5a25e8022a405dcadeb46112862837033..c1f760f6d850777aa1259e61f5bea3ed5b69ab4d 100755 (executable)
@@ -516,6 +516,24 @@ void _mc_repeat_ability_updated_cb(const char *server_name, mc_ability_support_e
        signal_async(TRUE);
 }
 
+void _mc_ability_updated_cb(const char *server_name, mc_ability_e ability, mc_ability_support_e support, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+
+       if(strcmp(server_name, g_mc_test_appname)) {
+               FPRINTF("[%d:%s] wrong server name [%s][%s]\\n", __LINE__, __FUNCTION__, server_name, g_mc_test_appname);
+               return;
+       }
+
+       if (support != g_mc_test_ability) {
+               FPRINTF("[%d:%s] wrong ability [%d][%d]\\n", __LINE__, __FUNCTION__, support, g_mc_test_ability);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
 void _mc_playlist_updated_cb(const char *server_name, mc_playlist_update_mode_e mode, const char *playlist_name, mc_playlist_h playlist, void *user_data)
 {
        FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
index 4a6236416d2fc836f150db2c20ee3f76033bb24d..9bf81b57cbc07e17bc649aee766a1ac3912725fa 100755 (executable)
@@ -116,6 +116,7 @@ void _mc_repeat_mode_changed_cb(const char *server_name, mc_repeat_mode_e mode,
 void _mc_playback_ability_updated_cb(const char *server_name, mc_playback_ability_h ability, void *user_data);
 void _mc_shuffle_ability_updated_cb(const char *server_name, mc_ability_support_e support, void *user_data);
 void _mc_repeat_ability_updated_cb(const char *server_name, mc_ability_support_e support, void *user_data);
+void _mc_ability_updated_cb(const char *server_name, mc_ability_e ability, mc_ability_support_e support, void *user_data);
 void _mc_playlist_updated_cb(const char *server_name, mc_playlist_update_mode_e mode, const char *playlist_name, mc_playlist_h playlist, void *user_data);
 void _mc_cmd_reply_received_cb(const char *server_name, const char *request_id, int result_code, bundle *data, void *user_data);
 bool _mc_activated_server_cb(const char *server_name, void *user_data);
index 58538116ffe2640493ad3a73c7cf6a020d18397c..93136e9b567ee9b1270db996ee833fe7fc48d56f 100755 (executable)
@@ -5,7 +5,7 @@
 // you may not use this file except in compliance with the License.
 // You may obtain a copy of the License at
 //
-//     http://www.apache.org/licenses/LICENSE-2.0
+// http://www.apache.org/licenses/LICENSE-2.0
 //
 // Unless required by applicable law or agreed to in writing, software
 // distributed under the License is distributed on an "AS IS" BASIS,
@@ -216,6 +216,31 @@ static int __mc_verify_metadata(mc_metadata_h metadata)
        return MEDIA_CONTROLLER_ERROR_NONE;
 }
 
+static int __mc_server_set_ability(mc_ability_support_e support)
+{
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_SHUFFLE, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_REPEAT, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_PLAYBACK_POSITION, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_PLAYLIST, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_CLIENT_CUSTOM, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_SEARCH, support);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return ret;
+}
+
 /**
  * @function           utc_media_controller_startup
  * @description                Called before each test
@@ -224,45 +249,45 @@ static int __mc_verify_metadata(mc_metadata_h metadata)
  */
 void utc_media_controller_startup(void)
 {
-    mc_error_e ret = MEDIA_CONTROLLER_ERROR_NONE;
-
-    // server start
-    ret = mc_server_create(&g_mc_server);
-    if (ret != MEDIA_CONTROLLER_ERROR_NONE)
-    {
-        FPRINTF("[%s:%d] mc_server_create failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    // server initialize data, it will be removed by destroying server when test finish
-    ret = mc_server_set_playback_state(g_mc_server, MC_PLAYBACK_STATE_PLAYING);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_state failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_position(g_mc_server, 10000);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_position failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_content_type failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_content_age_rating(g_mc_server, g_mc_test_age_rating);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_content_age_rating failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       mc_error_e ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       // server start
+       ret = mc_server_create(&g_mc_server);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
+       {
+               FPRINTF("[%s:%d] mc_server_create failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       // server initialize data, it will be removed by destroying server when test finish
+       ret = mc_server_set_playback_state(g_mc_server, MC_PLAYBACK_STATE_PLAYING);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_state failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_position(g_mc_server, 10000);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_position failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_content_type failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_content_age_rating(g_mc_server, g_mc_test_age_rating);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_content_age_rating failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
        ret = mc_server_set_playlist_item_info(g_mc_server, g_mc_test_playlist_name, g_mc_test_playlist_index);
        if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
@@ -271,116 +296,109 @@ void utc_media_controller_startup(void)
                return;
        }
 
-    ret = mc_server_update_playback_info(g_mc_server);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_update_playback_info failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_update_shuffle_mode(g_mc_server, MC_SHUFFLE_MODE_ON);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_update_shuffle_mode failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_update_repeat_mode(g_mc_server, MC_REPEAT_MODE_ON);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_update_repeat_mode failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PAUSE, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_STOP, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_NEXT, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PREV, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       ret = mc_server_update_playback_info(g_mc_server);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_update_playback_info failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_update_shuffle_mode(g_mc_server, MC_SHUFFLE_MODE_ON);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_update_shuffle_mode failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_update_repeat_mode(g_mc_server, MC_REPEAT_MODE_ON);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_update_repeat_mode failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PAUSE, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_STOP, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_NEXT, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PREV, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
        ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_FAST_FORWARD, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_REWIND, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_TOGGLE_PLAY_PAUSE, MC_ABILITY_SUPPORTED_YES);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_REWIND, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
+
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_TOGGLE_PLAY_PAUSE, MC_ABILITY_SUPPORTED_YES);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_set_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
        ret = mc_server_update_playback_ability(g_mc_server);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_update_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] mc_server_update_playback_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
-       ret = mc_server_set_shuffle_ability(g_mc_server, g_mc_test_ability);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_shuffle_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       ret = __mc_server_set_ability(MC_ABILITY_SUPPORTED_NO);
+       if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
+               FPRINTF("[%s:%d] __mc_server_set_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
-       ret = mc_server_set_repeat_ability(g_mc_server, g_mc_test_ability);
-    if ( ret != MEDIA_CONTROLLER_ERROR_NONE) {
-        FPRINTF("[%s:%d] mc_server_set_repeat_ability failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
-
-    // client start
-    ret = mc_client_create(&g_mc_client);
-    if (ret != MEDIA_CONTROLLER_ERROR_NONE)
-    {
-        FPRINTF("[%s:%d] mc_client_create failed (code: %d)\\n", __FILE__, __LINE__, ret);
-        startup_ret = ret;
-        return;
-    }
+       // client start
+       ret = mc_client_create(&g_mc_client);
+       if (ret != MEDIA_CONTROLLER_ERROR_NONE)
+       {
+               FPRINTF("[%s:%d] mc_client_create failed (code: %d)\\n", __FILE__, __LINE__, ret);
+               startup_ret = ret;
+               return;
+       }
 
        g_request_id = NULL;
 
-    return;
+       return;
 }
 
 
@@ -392,30 +410,30 @@ void utc_media_controller_startup(void)
  */
 void utc_media_controller_cleanup(void)
 {
-    if (g_mc_server != NULL) {
+       if (g_mc_server != NULL) {
                mc_server_destroy(g_mc_server);
                g_mc_server = NULL;
-    }
-    if (g_mc_client != NULL) {
+       }
+       if (g_mc_client != NULL) {
                mc_client_destroy(g_mc_client);
                g_mc_client = NULL;
-    }
-    if (g_mc_bundle != NULL) {
+       }
+       if (g_mc_bundle != NULL) {
                bundle_free(g_mc_bundle);
                g_mc_bundle = NULL;
-    }
-    if (g_mc_server_name != NULL) {
+       }
+       if (g_mc_server_name != NULL) {
                free(g_mc_server_name);
                g_mc_server_name = NULL;
-    }
-    if (g_mc_client_name != NULL) {
+       }
+       if (g_mc_client_name != NULL) {
                free(g_mc_client_name);
                g_mc_client_name = NULL;
-    }
+       }
        if (g_request_id != NULL) {
                free(g_request_id);
                g_request_id = NULL;
-    }
+       }
        if (g_mc_custom_data.name) {
                free(g_mc_custom_data.name);
                g_mc_custom_data.name = NULL;
@@ -437,7 +455,7 @@ void utc_media_controller_cleanup(void)
                g_mc_search = NULL;
        }
 
-    return;
+       return;
 }
 
 /**
@@ -447,17 +465,17 @@ void utc_media_controller_cleanup(void)
  */
 int utc_mc_server_create_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_destroy(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_destroy(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        g_mc_server = NULL;
 
-    ret = mc_server_create(&g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    return 0;
+       ret = mc_server_create(&g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       return 0;
 }
 
 /**
@@ -467,18 +485,14 @@ int utc_mc_server_create_p(void)
  */
 int utc_mc_server_create_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_destroy(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    g_mc_server = NULL;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_create(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_create(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 
@@ -489,15 +503,15 @@ int utc_mc_server_create_n(void)
  */
 int utc_mc_server_destroy_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_destroy(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    g_mc_server = NULL;
+       ret = mc_server_destroy(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       g_mc_server = NULL;
 
-    return 0;
+       return 0;
 }
 
 
@@ -508,14 +522,14 @@ int utc_mc_server_destroy_p(void)
  */
 int utc_mc_server_destroy_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_destroy(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_destroy(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -525,15 +539,15 @@ int utc_mc_server_destroy_n(void)
  */
 int utc_mc_server_set_playback_state_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    const mc_playback_states_e playback_state = MC_PLAYBACK_STATE_PLAYING;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       const mc_playback_states_e playback_state = MC_PLAYBACK_STATE_PLAYING;
 
-    ret = mc_server_set_playback_state(g_mc_server, playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_state(g_mc_server, playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -544,18 +558,18 @@ int utc_mc_server_set_playback_state_p(void)
  */
 int utc_mc_server_set_playback_state_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    const mc_playback_states_e playback_state = MC_PLAYBACK_STATE_NONE-1;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       const mc_playback_states_e playback_state = MC_PLAYBACK_STATE_NONE-1;
 
-    ret = mc_server_set_playback_state(NULL, playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_state(NULL, playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_state(g_mc_server, playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_state(g_mc_server, playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -565,15 +579,15 @@ int utc_mc_server_set_playback_state_n(void)
  */
 int utc_mc_server_set_playback_position_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    unsigned long long playback_position = 1000;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       unsigned long long playback_position = 1000;
 
-    ret = mc_server_set_playback_position(g_mc_server, playback_position);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_position(g_mc_server, playback_position);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -584,15 +598,15 @@ int utc_mc_server_set_playback_position_p(void)
  */
 int utc_mc_server_set_playback_position_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    unsigned long long playback_position = 1000;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       unsigned long long playback_position = 1000;
 
-    ret = mc_server_set_playback_position(NULL, playback_position);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_position(NULL, playback_position);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -602,14 +616,14 @@ int utc_mc_server_set_playback_position_n(void)
  */
 int utc_mc_server_set_playback_content_type_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -619,17 +633,17 @@ int utc_mc_server_set_playback_content_type_p(void)
  */
 int utc_mc_server_set_playback_content_type_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_content_type(NULL, g_mc_test_content_type);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_content_type(NULL, g_mc_test_content_type);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_content_type(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_content_type(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -639,14 +653,14 @@ int utc_mc_server_set_playback_content_type_n(void)
  */
 int utc_mc_server_set_content_age_rating_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_content_age_rating(g_mc_server, g_mc_test_age_rating);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_content_age_rating(g_mc_server, g_mc_test_age_rating);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -656,17 +670,17 @@ int utc_mc_server_set_content_age_rating_p(void)
  */
 int utc_mc_server_set_content_age_rating_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_content_age_rating(NULL, g_mc_test_age_rating);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_content_age_rating(NULL, g_mc_test_age_rating);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_content_age_rating(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_content_age_rating(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -795,14 +809,14 @@ int utc_mc_server_set_metadata_n(void)
  */
 int utc_mc_server_set_icon_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -812,14 +826,14 @@ int utc_mc_server_set_icon_p(void)
  */
 int utc_mc_server_set_icon_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_icon(NULL, g_mc_test_icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_icon(NULL, g_mc_test_icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -829,35 +843,35 @@ int utc_mc_server_set_icon_n(void)
  */
 int utc_mc_server_set_playback_ability_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PAUSE, MC_ABILITY_SUPPORTED_NO);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PAUSE, MC_ABILITY_SUPPORTED_NO);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_STOP, MC_ABILITY_SUPPORTED_YES);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_STOP, MC_ABILITY_SUPPORTED_YES);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_NEXT, MC_ABILITY_SUPPORTED_NO);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_NEXT, MC_ABILITY_SUPPORTED_NO);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PREV, MC_ABILITY_SUPPORTED_YES);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PREV, MC_ABILITY_SUPPORTED_YES);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_FAST_FORWARD, MC_ABILITY_SUPPORTED_NO);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_REWIND, MC_ABILITY_SUPPORTED_YES);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_REWIND, MC_ABILITY_SUPPORTED_YES);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_TOGGLE_PLAY_PAUSE, MC_ABILITY_SUPPORTED_NO);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_TOGGLE_PLAY_PAUSE, MC_ABILITY_SUPPORTED_NO);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -867,23 +881,23 @@ int utc_mc_server_set_playback_ability_p(void)
  */
 int utc_mc_server_set_playback_ability_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_ability(NULL, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_ability(NULL, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_YES);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_ability(g_mc_server, -1, MC_ABILITY_SUPPORTED_YES);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_ability(g_mc_server, -1, MC_ABILITY_SUPPORTED_YES);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_UNDECIDED);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_ability(g_mc_server, MC_PLAYBACK_ACTION_PLAY, MC_ABILITY_SUPPORTED_UNDECIDED);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -893,18 +907,18 @@ int utc_mc_server_set_playback_ability_n(void)
  */
 int utc_mc_server_update_playback_ability_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_playback_ability_updated_cb(g_mc_client, _mc_playback_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_playback_ability_updated_cb(g_mc_client, _mc_playback_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_update_playback_ability(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_update_playback_ability(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -914,14 +928,14 @@ int utc_mc_server_update_playback_ability_p(void)
  */
 int utc_mc_server_update_playback_ability_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_update_playback_ability(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_playback_ability(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -931,18 +945,18 @@ int utc_mc_server_update_playback_ability_n(void)
  */
 int utc_mc_server_set_shuffle_ability_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, _mc_shuffle_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, _mc_shuffle_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_shuffle_ability(g_mc_server, g_mc_test_ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_shuffle_ability(g_mc_server, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -952,17 +966,17 @@ int utc_mc_server_set_shuffle_ability_p(void)
  */
 int utc_mc_server_set_shuffle_ability_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_ability(NULL, g_mc_test_ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_shuffle_ability(NULL, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_shuffle_ability(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_shuffle_ability(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -972,18 +986,18 @@ int utc_mc_server_set_shuffle_ability_n(void)
  */
 int utc_mc_server_set_repeat_ability_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, _mc_repeat_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, _mc_repeat_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_repeat_ability(g_mc_server, g_mc_test_ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_repeat_ability(g_mc_server, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -993,17 +1007,61 @@ int utc_mc_server_set_repeat_ability_p(void)
  */
 int utc_mc_server_set_repeat_ability_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_ability(NULL, g_mc_test_ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_repeat_ability(NULL, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_repeat_ability(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_repeat_ability(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_set_ability_support_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_ability_support()
+ */
+int utc_mc_server_set_ability_support_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       int i = 0;
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_ability_support_updated_cb(g_mc_client, _mc_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       for (i = 0; i <= MC_ABILITY_SEARCH; i++) {
+               ret = mc_server_set_ability_support(g_mc_server, i, g_mc_test_ability);
+               assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+               assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+       }
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_set_ability_support_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_ability_support()
+ */
+int utc_mc_server_set_ability_support_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_ability_support(NULL, MC_ABILITY_SHUFFLE, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_SHUFFLE, MC_ABILITY_SUPPORTED_UNDECIDED);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
 }
 
 /**
@@ -1013,21 +1071,21 @@ int utc_mc_server_set_repeat_ability_n(void)
  */
 int utc_mc_server_update_playback_info_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_playback_updated_cb(g_mc_client, _mc_playback_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_playback_updated_cb(g_mc_client, _mc_playback_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_state(g_mc_server, g_mc_test_playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_state(g_mc_server, g_mc_test_playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_position(g_mc_server, g_mc_test_playback_position);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_position(g_mc_server, g_mc_test_playback_position);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_content_type(g_mc_server, g_mc_test_content_type);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        ret = mc_server_set_content_age_rating(g_mc_server, g_mc_test_age_rating);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -1035,11 +1093,11 @@ int utc_mc_server_update_playback_info_p(void)
        ret = mc_server_set_playlist_item_info(g_mc_server, g_mc_test_playlist_name, g_mc_test_playlist_index);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_update_playback_info(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_update_playback_info(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1049,14 +1107,14 @@ int utc_mc_server_update_playback_info_p(void)
  */
 int utc_mc_server_update_playback_info_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_update_playback_info(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_playback_info(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1105,18 +1163,18 @@ int utc_mc_server_update_metadata_n(void)
  */
 int utc_mc_server_update_shuffle_mode_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, _mc_shuffle_mode_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, _mc_shuffle_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_update_shuffle_mode(g_mc_server, g_mc_test_shuffle_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_update_shuffle_mode(g_mc_server, g_mc_test_shuffle_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1126,17 +1184,17 @@ int utc_mc_server_update_shuffle_mode_p(void)
  */
 int utc_mc_server_update_shuffle_mode_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_update_shuffle_mode(NULL, g_mc_test_shuffle_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_shuffle_mode(NULL, g_mc_test_shuffle_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_update_shuffle_mode(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_shuffle_mode(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1146,18 +1204,18 @@ int utc_mc_server_update_shuffle_mode_n(void)
  */
 int utc_mc_server_update_repeat_mode_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, _mc_repeat_mode_changed_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, _mc_repeat_mode_changed_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_update_repeat_mode(g_mc_server, g_mc_test_repeat_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_update_repeat_mode(g_mc_server, g_mc_test_repeat_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1167,17 +1225,17 @@ int utc_mc_server_update_repeat_mode_p(void)
  */
 int utc_mc_server_update_repeat_mode_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_update_repeat_mode(NULL, g_mc_test_repeat_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_repeat_mode(NULL, g_mc_test_repeat_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_update_repeat_mode(g_mc_server, -1);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_update_repeat_mode(g_mc_server, -1);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1187,14 +1245,14 @@ int utc_mc_server_update_repeat_mode_n(void)
  */
 int utc_mc_server_set_playback_position_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1204,17 +1262,17 @@ int utc_mc_server_set_playback_position_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_playback_position_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_position_cmd_received_cb(NULL, _mc_server_playback_position_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_position_cmd_received_cb(NULL, _mc_server_playback_position_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1224,17 +1282,17 @@ int utc_mc_server_set_playback_position_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_playback_position_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playback_position_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_playback_position_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1244,17 +1302,17 @@ int utc_mc_server_unset_playback_position_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_playback_position_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playback_position_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_playback_position_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1264,14 +1322,14 @@ int utc_mc_server_unset_playback_position_cmd_received_cb_n(void)
  */
 int utc_mc_server_set_shuffle_mode_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1281,17 +1339,17 @@ int utc_mc_server_set_shuffle_mode_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_shuffle_mode_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_mode_cmd_received_cb(NULL, _mc_server_shuffle_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_shuffle_mode_cmd_received_cb(NULL, _mc_server_shuffle_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1301,17 +1359,17 @@ int utc_mc_server_set_shuffle_mode_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_shuffle_mode_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_shuffle_mode_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_shuffle_mode_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1321,17 +1379,17 @@ int utc_mc_server_unset_shuffle_mode_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_shuffle_mode_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_shuffle_mode_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_shuffle_mode_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1341,14 +1399,14 @@ int utc_mc_server_unset_shuffle_mode_cmd_received_cb_n(void)
  */
 int utc_mc_server_set_repeat_mode_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1358,17 +1416,17 @@ int utc_mc_server_set_repeat_mode_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_repeat_mode_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_repeat_mode_cmd_received_cb(NULL, _mc_server_repeat_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_repeat_mode_cmd_received_cb(NULL, _mc_server_repeat_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1378,17 +1436,17 @@ int utc_mc_server_set_repeat_mode_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_repeat_mode_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_repeat_mode_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_repeat_mode_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1398,17 +1456,17 @@ int utc_mc_server_unset_repeat_mode_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_repeat_mode_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_repeat_mode_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_repeat_mode_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1418,14 +1476,14 @@ int utc_mc_server_unset_repeat_mode_cmd_received_cb_n(void)
  */
 int utc_mc_server_set_playback_action_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1435,17 +1493,17 @@ int utc_mc_server_set_playback_action_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_playback_action_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_action_cmd_received_cb(NULL, _mc_server_playback_action_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_action_cmd_received_cb(NULL, _mc_server_playback_action_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1455,17 +1513,17 @@ int utc_mc_server_set_playback_action_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_playback_action_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playback_action_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_playback_action_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1475,17 +1533,17 @@ int utc_mc_server_unset_playback_action_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_playback_action_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playback_action_cmd_received_cb(g_mc_server, _mc_server_playback_action_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playback_action_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_playback_action_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1495,14 +1553,14 @@ int utc_mc_server_unset_playback_action_cmd_received_cb_n(void)
  */
 int utc_mc_server_set_playlist_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1512,17 +1570,17 @@ int utc_mc_server_set_playlist_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_playlist_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playlist_cmd_received_cb(NULL, _mc_server_playlist_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playlist_cmd_received_cb(NULL, _mc_server_playlist_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1532,17 +1590,17 @@ int utc_mc_server_set_playlist_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_playlist_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playlist_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_playlist_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1552,17 +1610,17 @@ int utc_mc_server_unset_playlist_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_playlist_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_playlist_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_playlist_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1572,14 +1630,14 @@ int utc_mc_server_unset_playlist_cmd_received_cb_n(void)
  */
 int utc_mc_server_set_custom_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1589,17 +1647,17 @@ int utc_mc_server_set_custom_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_custom_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_custom_cmd_received_cb(NULL, _mc_server_custom_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_custom_cmd_received_cb(NULL, _mc_server_custom_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_custom_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1609,17 +1667,17 @@ int utc_mc_server_set_custom_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_custom_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_custom_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_custom_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1629,17 +1687,17 @@ int utc_mc_server_unset_custom_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_custom_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_custom_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_custom_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1653,6 +1711,9 @@ int utc_mc_server_send_cmd_reply_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -1688,20 +1749,20 @@ int utc_mc_server_send_cmd_reply_p(void)
  */
 int utc_mc_server_send_cmd_reply_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_send_cmd_reply(NULL, g_mc_test_appname, g_request_id, g_mc_test_reply_result, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_send_cmd_reply(NULL, g_mc_test_appname, g_request_id, g_mc_test_reply_result, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_send_cmd_reply(g_mc_server, NULL, g_request_id, g_mc_test_reply_result, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_send_cmd_reply(g_mc_server, NULL, g_request_id, g_mc_test_reply_result, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_send_cmd_reply(g_mc_server, g_mc_test_appname, NULL, g_mc_test_reply_result, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_test_appname, NULL, g_mc_test_reply_result, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -1994,15 +2055,15 @@ int utc_mc_server_foreach_playlist_n(void)
  */
 int utc_mc_server_foreach_client_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_foreach_client(g_mc_client, _mc_activated_client_cb, &g_mc_client_name);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_foreach_client(g_mc_client, _mc_activated_client_cb, &g_mc_client_name);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_neq(g_mc_client_name, NULL);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2012,17 +2073,17 @@ int utc_mc_server_foreach_client_p(void)
  */
 int utc_mc_server_foreach_client_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_foreach_client(NULL, _mc_activated_client_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_foreach_client(NULL, _mc_activated_client_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_foreach_client(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_foreach_client(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2032,14 +2093,14 @@ int utc_mc_server_foreach_client_n(void)
  */
 int utc_mc_server_set_event_reply_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2049,17 +2110,17 @@ int utc_mc_server_set_event_reply_received_cb_p(void)
  */
 int utc_mc_server_set_event_reply_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_event_reply_received_cb(NULL, _mc_server_event_reply_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_event_reply_received_cb(NULL, _mc_server_event_reply_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_event_reply_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_event_reply_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2069,17 +2130,17 @@ int utc_mc_server_set_event_reply_received_cb_n(void)
  */
 int utc_mc_server_unset_event_reply_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_event_reply_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_event_reply_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2089,14 +2150,14 @@ int utc_mc_server_unset_event_reply_received_cb_p(void)
  */
 int utc_mc_server_unset_event_reply_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_unset_event_reply_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_event_reply_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2154,14 +2215,14 @@ int utc_mc_server_send_custom_event_n(void)
  */
 int utc_mc_server_set_search_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2171,17 +2232,17 @@ int utc_mc_server_set_search_cmd_received_cb_p(void)
  */
 int utc_mc_server_set_search_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_search_cmd_received_cb(NULL, _mc_server_search_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_search_cmd_received_cb(NULL, _mc_server_search_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_server_set_search_cmd_received_cb(g_mc_server, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_search_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2191,17 +2252,17 @@ int utc_mc_server_set_search_cmd_received_cb_n(void)
  */
 int utc_mc_server_unset_search_cmd_received_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_search_cmd_received_cb(g_mc_server);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_unset_search_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2211,17 +2272,17 @@ int utc_mc_server_unset_search_cmd_received_cb_p(void)
  */
 int utc_mc_server_unset_search_cmd_received_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_unset_search_cmd_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_unset_search_cmd_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2231,18 +2292,18 @@ int utc_mc_server_unset_search_cmd_received_cb_n(void)
  */
 int utc_mc_client_create_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_destroy(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        g_mc_client = NULL;
 
-    ret = mc_client_create(&g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_create(&g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2252,18 +2313,18 @@ int utc_mc_client_create_p(void)
  */
 int utc_mc_client_create_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    g_mc_client = NULL;
+       ret = mc_client_destroy(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       g_mc_client = NULL;
 
-    ret = mc_client_create(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_create(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2274,15 +2335,15 @@ int utc_mc_client_create_n(void)
  */
 int utc_mc_client_destroy_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    g_mc_client = NULL;
+       ret = mc_client_destroy(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       g_mc_client = NULL;
 
-    return 0;
+       return 0;
 }
 
 
@@ -2293,14 +2354,14 @@ int utc_mc_client_destroy_p(void)
  */
 int utc_mc_client_destroy_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_destroy(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2310,22 +2371,22 @@ int utc_mc_client_destroy_n(void)
  */
 int utc_mc_client_set_server_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_server_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_set_server_updated_cb(g_mc_client, _mc_server_state_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_server_updated_cb(g_mc_client, _mc_server_state_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        ret = mc_server_destroy(g_mc_server);
        g_mc_server = NULL;
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2335,20 +2396,20 @@ int utc_mc_client_set_server_updated_cb_p(void)
  */
 int utc_mc_client_set_server_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_server_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_set_server_updated_cb(NULL, _mc_server_state_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_server_updated_cb(NULL, _mc_server_state_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_server_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_server_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2358,14 +2419,14 @@ int utc_mc_client_set_server_updated_cb_n(void)
  */
 int utc_mc_client_unset_server_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_server_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2376,14 +2437,14 @@ int utc_mc_client_unset_server_updated_cb_p(void)
  */
 int utc_mc_client_unset_server_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_server_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_server_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2393,14 +2454,14 @@ int utc_mc_client_unset_server_updated_cb_n(void)
  */
 int utc_mc_client_set_playback_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_playback_updated_cb(g_mc_client, _mc_playback_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_playback_updated_cb(g_mc_client, _mc_playback_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2411,17 +2472,17 @@ int utc_mc_client_set_playback_updated_cb_p(void)
  */
 int utc_mc_client_set_playback_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_playback_updated_cb(NULL, _mc_playback_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_playback_updated_cb(NULL, _mc_playback_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_playback_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_playback_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2431,14 +2492,14 @@ int utc_mc_client_set_playback_updated_cb_n(void)
  */
 int utc_mc_client_unset_playback_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_playback_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_playback_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2449,14 +2510,14 @@ int utc_mc_client_unset_playback_updated_cb_p(void)
  */
 int utc_mc_client_unset_playback_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_playback_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_playback_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2508,14 +2569,14 @@ int utc_mc_client_set_metadata_updated_cb_n(void)
  */
 int utc_mc_client_unset_metadata_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_metadata_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_metadata_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2526,14 +2587,14 @@ int utc_mc_client_unset_metadata_updated_cb_p(void)
  */
 int utc_mc_client_unset_metadata_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_metadata_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_metadata_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2543,14 +2604,14 @@ int utc_mc_client_unset_metadata_updated_cb_n(void)
  */
 int utc_mc_client_set_shuffle_mode_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, _mc_shuffle_mode_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, _mc_shuffle_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2561,17 +2622,17 @@ int utc_mc_client_set_shuffle_mode_updated_cb_p(void)
  */
 int utc_mc_client_set_shuffle_mode_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_mode_updated_cb(NULL, _mc_shuffle_mode_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_shuffle_mode_updated_cb(NULL, _mc_shuffle_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_shuffle_mode_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2581,14 +2642,14 @@ int utc_mc_client_set_shuffle_mode_updated_cb_n(void)
  */
 int utc_mc_client_unset_shuffle_mode_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_shuffle_mode_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_shuffle_mode_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2599,14 +2660,14 @@ int utc_mc_client_unset_shuffle_mode_updated_cb_p(void)
  */
 int utc_mc_client_unset_shuffle_mode_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_shuffle_mode_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_shuffle_mode_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2616,14 +2677,14 @@ int utc_mc_client_unset_shuffle_mode_updated_cb_n(void)
  */
 int utc_mc_client_set_repeat_mode_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, _mc_repeat_mode_changed_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, _mc_repeat_mode_changed_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2634,17 +2695,17 @@ int utc_mc_client_set_repeat_mode_updated_cb_p(void)
  */
 int utc_mc_client_set_repeat_mode_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_mode_updated_cb(NULL, _mc_repeat_mode_changed_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_repeat_mode_updated_cb(NULL, _mc_repeat_mode_changed_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_repeat_mode_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2762,14 +2823,14 @@ int utc_mc_client_unset_playback_ability_updated_cb_n(void)
  */
 int utc_mc_client_set_shuffle_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, _mc_shuffle_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, _mc_shuffle_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2780,17 +2841,17 @@ int utc_mc_client_set_shuffle_ability_updated_cb_p(void)
  */
 int utc_mc_client_set_shuffle_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_shuffle_ability_updated_cb(NULL, _mc_shuffle_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_shuffle_ability_updated_cb(NULL, _mc_shuffle_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_shuffle_ability_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2800,14 +2861,14 @@ int utc_mc_client_set_shuffle_ability_updated_cb_n(void)
  */
 int utc_mc_client_unset_shuffle_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_shuffle_ability_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_shuffle_ability_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2818,14 +2879,14 @@ int utc_mc_client_unset_shuffle_ability_updated_cb_p(void)
  */
 int utc_mc_client_unset_shuffle_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_shuffle_ability_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_shuffle_ability_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2835,17 +2896,16 @@ int utc_mc_client_unset_shuffle_ability_updated_cb_n(void)
  */
 int utc_mc_client_set_repeat_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, _mc_repeat_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, _mc_repeat_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
-
 /**
  * @testcase           utc_mc_client_set_repeat_ability_updated_cb_n
  * @since_tizen                5.0
@@ -2853,17 +2913,17 @@ int utc_mc_client_set_repeat_ability_updated_cb_p(void)
  */
 int utc_mc_client_set_repeat_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_set_repeat_ability_updated_cb(NULL, _mc_repeat_ability_updated_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_repeat_ability_updated_cb(NULL, _mc_repeat_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -2873,14 +2933,14 @@ int utc_mc_client_set_repeat_ability_updated_cb_n(void)
  */
 int utc_mc_client_unset_repeat_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_repeat_ability_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_repeat_ability_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
@@ -2891,14 +2951,86 @@ int utc_mc_client_unset_repeat_ability_updated_cb_p(void)
  */
 int utc_mc_client_unset_repeat_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_repeat_ability_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_repeat_ability_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_ability_support_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of utc_mc_client_set_ability_support_updated_cb()
+ */
+int utc_mc_client_set_ability_support_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_ability_support_updated_cb(g_mc_client, _mc_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_ability_support_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of utc_mc_client_set_ability_support_updated_cb()
+ */
+int utc_mc_client_set_ability_support_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_ability_support_updated_cb(NULL, _mc_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_ability_support_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_ability_support_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of utc_mc_client_unset_ability_support_updated_cb()
+ */
+int utc_mc_client_unset_ability_support_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_ability_support_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase           utc_mc_client_unset_ability_support_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of utc_mc_client_unset_ability_support_updated_cb()
+ */
+int utc_mc_client_unset_ability_support_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_ability_support_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
 }
 
 /**
@@ -2980,6 +3112,9 @@ int utc_mc_client_set_cmd_reply_received_cb_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -3413,32 +3548,32 @@ int utc_mc_client_get_playlist_item_info_p(void)
  */
 int utc_mc_client_get_playlist_item_info_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
        char *playlist_name = NULL;
        char *index = 0;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_playlist_item_info(NULL, &playlist_name, &index);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_playlist_item_info(NULL, &playlist_name, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_playlist_item_info(playback_info, NULL, &index);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_playlist_item_info(playback_info, NULL, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_playlist_item_info(playback_info, &playlist_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_playlist_item_info(playback_info, &playlist_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_destroy_playback(playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -3737,25 +3872,25 @@ int utc_mc_client_get_server_repeat_mode_n(void)
  */
 int utc_mc_client_get_server_icon_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    char *icon_path = NULL;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       char *icon_path = NULL;
 
-    ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_icon(g_mc_client, g_mc_server_name, &icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(strcmp(icon_path, g_mc_test_icon_path), 0);
+       ret = mc_client_get_server_icon(g_mc_client, g_mc_server_name, &icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(strcmp(icon_path, g_mc_test_icon_path), 0);
 
        if (icon_path)
                free(icon_path);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -3765,30 +3900,30 @@ int utc_mc_client_get_server_icon_p(void)
  */
 int utc_mc_client_get_server_icon_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    char *icon_path = NULL;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       char *icon_path = NULL;
 
-    ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_icon(NULL, g_mc_server_name, &icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_icon(NULL, g_mc_server_name, &icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_icon(g_mc_client, NULL, &icon_path);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_icon(g_mc_client, NULL, &icon_path);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_icon(g_mc_client, g_mc_server_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_icon(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        if (icon_path)
                free(icon_path);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -3822,24 +3957,24 @@ int utc_mc_client_get_server_playback_ability_p(void)
  */
 int utc_mc_client_get_server_playback_ability_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_ability_h ability = NULL;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_ability_h ability = NULL;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_playback_ability(NULL, g_mc_server_name, &ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_playback_ability(NULL, g_mc_server_name, &ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_playback_ability(g_mc_client, NULL, &ability);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_playback_ability(g_mc_client, NULL, &ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_playback_ability(g_mc_client, g_mc_server_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_playback_ability(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -3849,19 +3984,22 @@ int utc_mc_client_get_server_playback_ability_n(void)
  */
 int utc_mc_client_get_server_shuffle_ability_support_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_shuffle_ability_support(g_mc_client, g_mc_server_name, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(supported, g_mc_test_ability);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       ret = mc_client_get_server_shuffle_ability_support(g_mc_client, g_mc_server_name, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       return 0;
 }
 
 /**
@@ -3871,24 +4009,24 @@ int utc_mc_client_get_server_shuffle_ability_support_p(void)
  */
 int utc_mc_client_get_server_shuffle_ability_support_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_shuffle_ability_support(NULL, g_mc_server_name, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_shuffle_ability_support(NULL, g_mc_server_name, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_shuffle_ability_support(g_mc_client, NULL, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_shuffle_ability_support(g_mc_client, NULL, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_shuffle_ability_support(g_mc_client, g_mc_server_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_shuffle_ability_support(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -3898,19 +4036,22 @@ int utc_mc_client_get_server_shuffle_ability_support_n(void)
  */
 int utc_mc_client_get_server_repeat_ability_support_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_repeat_ability_support(g_mc_client, g_mc_server_name, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(supported, g_mc_test_ability);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       ret = mc_client_get_server_repeat_ability_support(g_mc_client, g_mc_server_name, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       return 0;
 }
 
 /**
@@ -3920,24 +4061,99 @@ int utc_mc_client_get_server_repeat_ability_support_p(void)
  */
 int utc_mc_client_get_server_repeat_ability_support_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_repeat_ability_support(NULL, g_mc_server_name, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_repeat_ability_support(NULL, g_mc_server_name, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_repeat_ability_support(g_mc_client, NULL, &supported);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_repeat_ability_support(g_mc_client, NULL, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_repeat_ability_support(g_mc_client, g_mc_server_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_repeat_ability_support(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_server_ability_support_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_ability_support()
+ */
+int utc_mc_client_get_server_ability_support_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_SHUFFLE, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_REPEAT, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_PLAYBACK_POSITION, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_PLAYLIST, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_CLIENT_CUSTOM, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_SEARCH, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_server_ability_support_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_ability_support()
+ */
+int utc_mc_client_get_server_ability_support_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
+
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_server_ability_support(NULL, g_mc_server_name, MC_ABILITY_SHUFFLE, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, NULL, MC_ABILITY_SHUFFLE, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, MC_ABILITY_SHUFFLE, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, -1, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
 }
 
 /**
@@ -3965,17 +4181,17 @@ int utc_mc_client_foreach_server_p(void)
  */
 int utc_mc_client_foreach_server_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_foreach_server(NULL, _mc_activated_server_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_foreach_server(NULL, _mc_activated_server_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_foreach_server(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_foreach_server(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -4010,24 +4226,24 @@ int utc_mc_client_send_playback_action_cmd_p(void)
  */
 int utc_mc_client_send_playback_action_cmd_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_action_e playback_action = MC_PLAYBACK_ACTION_STOP;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_action_e playback_action = MC_PLAYBACK_ACTION_STOP;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_send_playback_action_cmd(NULL, g_mc_server_name, playback_action, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_playback_action_cmd(NULL, g_mc_server_name, playback_action, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_playback_action_cmd(g_mc_client, NULL, playback_action, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_playback_action_cmd(g_mc_client, NULL, playback_action, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_playback_action_cmd(g_mc_client, g_mc_server_name, MC_PLAYBACK_ACTION_PLAY-1, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_playback_action_cmd(g_mc_client, g_mc_server_name, MC_PLAYBACK_ACTION_PLAY-1, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -4041,6 +4257,9 @@ int utc_mc_client_send_playback_position_cmd_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_server_set_playback_position_cmd_received_cb(g_mc_server, _mc_server_playback_position_cmd_received_cb, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -4061,20 +4280,23 @@ int utc_mc_client_send_playback_position_cmd_p(void)
  */
 int utc_mc_client_send_playback_position_cmd_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_send_playback_position_cmd(NULL, g_mc_server_name, g_mc_test_playback_position, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_playback_position_cmd(NULL, g_mc_server_name, g_mc_test_playback_position, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_playback_position_cmd(g_mc_client, NULL, g_mc_test_playback_position, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_playback_position_cmd(g_mc_client, NULL, g_mc_test_playback_position, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       ret = mc_client_send_playback_position_cmd(g_mc_client, g_mc_server_name, g_mc_test_playback_position, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
 }
 
 /**
@@ -4088,6 +4310,9 @@ int utc_mc_client_send_shuffle_mode_cmd_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_server_set_shuffle_mode_cmd_received_cb(g_mc_server, _mc_server_shuffle_mode_cmd_received_cb, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -4108,23 +4333,26 @@ int utc_mc_client_send_shuffle_mode_cmd_p(void)
  */
 int utc_mc_client_send_shuffle_mode_cmd_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_send_shuffle_mode_cmd(NULL, g_mc_server_name, g_mc_test_shuffle_mode, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_shuffle_mode_cmd(NULL, g_mc_server_name, g_mc_test_shuffle_mode, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_shuffle_mode_cmd(g_mc_client, NULL, g_mc_test_shuffle_mode, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_shuffle_mode_cmd(g_mc_client, NULL, g_mc_test_shuffle_mode, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_shuffle_mode_cmd(g_mc_client, g_mc_server_name, -1, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_shuffle_mode_cmd(g_mc_client, g_mc_server_name, -1, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       ret = mc_client_send_shuffle_mode_cmd(g_mc_client, g_mc_server_name, MC_SHUFFLE_MODE_OFF, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
 }
 
 /**
@@ -4138,6 +4366,9 @@ int utc_mc_client_send_repeat_mode_cmd_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_server_set_repeat_mode_cmd_received_cb(g_mc_server, _mc_server_repeat_mode_cmd_received_cb, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -4158,23 +4389,26 @@ int utc_mc_client_send_repeat_mode_cmd_p(void)
  */
 int utc_mc_client_send_repeat_mode_cmd_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_send_repeat_mode_cmd(NULL, g_mc_server_name, g_mc_test_repeat_mode, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_repeat_mode_cmd(NULL, g_mc_server_name, g_mc_test_repeat_mode, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_repeat_mode_cmd(g_mc_client, NULL, g_mc_test_repeat_mode, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_repeat_mode_cmd(g_mc_client, NULL, g_mc_test_repeat_mode, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_repeat_mode_cmd(g_mc_client, g_mc_server_name, -1, &g_request_id);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_repeat_mode_cmd(g_mc_client, g_mc_server_name, -1, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       ret = mc_client_send_repeat_mode_cmd(g_mc_client, g_mc_server_name, MC_REPEAT_MODE_ONE_MEDIA, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
 }
 
 /**
@@ -4188,6 +4422,9 @@ int utc_mc_client_send_playlist_cmd_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_server_set_playlist_cmd_received_cb(g_mc_server, _mc_server_playlist_cmd_received_cb, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -4227,6 +4464,9 @@ int utc_mc_client_send_playlist_cmd_n(void)
        ret = mc_client_send_playlist_cmd(g_mc_client, g_mc_server_name, NULL, g_mc_test_playlist_index, -1, g_mc_test_playback_position, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
+       ret = mc_client_send_playlist_cmd(g_mc_client, g_mc_server_name, g_mc_test_playlist_name, g_mc_test_playlist_index, g_mc_test_playback_action, g_mc_test_playback_position, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
        return 0;
 }
 
@@ -4241,6 +4481,9 @@ int utc_mc_client_send_custom_cmd_p(void)
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
@@ -4274,6 +4517,9 @@ int utc_mc_client_send_custom_cmd_n(void)
        ret = mc_client_send_custom_cmd(g_mc_client, NULL, g_mc_test_cmd, NULL, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
+       ret = mc_client_send_custom_cmd(g_mc_client, g_mc_server_name, g_mc_test_cmd, NULL, &g_request_id);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
        return 0;
 }
 
@@ -4290,8 +4536,11 @@ int utc_mc_client_send_search_cmd_p(void)
        mc_search_h get_search = NULL;
        gboolean cb_result = FALSE;
 
-    ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, &get_search);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = __mc_server_set_ability(g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, &get_search);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, &g_mc_server_state);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -4355,7 +4604,7 @@ int utc_mc_client_send_search_cmd_n(void)
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        ret = mc_client_send_search_cmd(g_mc_client, g_mc_server_name, NULL, NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
 
        ret = mc_search_destroy(g_mc_search);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -4414,6 +4663,12 @@ int utc_mc_client_subscribe_p(void)
        ret = mc_client_subscribe(g_mc_client, MC_SUBSCRIPTION_TYPE_SERVER_STATE, g_mc_server_name);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
+       ret = mc_client_set_ability_support_updated_cb(g_mc_client, _mc_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_subscribe(g_mc_client, MC_SUBSCRIPTION_TYPE_ABILITY_SUPPORT, g_mc_server_name);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        return 0;
 }
 
@@ -4605,7 +4860,7 @@ int utc_mc_client_foreach_server_subscribed_n(void)
        ret = mc_client_foreach_server_subscribed(g_mc_client, MC_SUBSCRIPTION_TYPE_PLAYBACK, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -4742,15 +4997,15 @@ int utc_mc_client_unset_custom_event_received_cb_n(void)
  */
 int utc_mc_client_send_event_reply_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
        ret = mc_client_set_custom_event_received_cb(g_mc_client, _mc_custom_event_received_cb, &g_mc_custom_data);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, &g_mc_reply_data);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_event_reply_received_cb(g_mc_server, _mc_server_event_reply_received_cb, &g_mc_reply_data);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        ret = mc_server_foreach_client(g_mc_server, _mc_activated_client_cb, &g_mc_client_name);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -4764,15 +5019,15 @@ int utc_mc_client_send_event_reply_p(void)
        assert_eq(strcmp(g_mc_custom_data.name, g_mc_test_appname), 0);
        assert_eq(strcmp(g_mc_custom_data.request_id, g_request_id), 0);
 
-    ret = mc_client_send_event_reply(g_mc_client, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_send_event_reply(g_mc_client, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
        assert_eq(g_mc_reply_data.result, TRUE);
        assert_eq(strcmp(g_mc_reply_data.name, g_mc_test_appname), 0);
        assert_eq(strcmp(g_mc_reply_data.request_id, g_request_id), 0);
 
-    return 0;
+       return 0;
 }
 
 /**
@@ -4782,20 +5037,20 @@ int utc_mc_client_send_event_reply_p(void)
  */
 int utc_mc_client_send_event_reply_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_send_event_reply(NULL, g_mc_test_appname, g_request_id, 0, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_event_reply(NULL, g_mc_test_appname, g_request_id, 0, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_event_reply(g_mc_client, NULL, g_request_id, 0, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_event_reply(g_mc_client, NULL, g_request_id, 0, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_send_event_reply(g_mc_client, g_mc_test_appname, NULL, 0, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_send_event_reply(g_mc_client, g_mc_test_appname, NULL, 0, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**