[UTC][media-controller][ACR-1444]Add new APIs for subtitles, 360 mode, display mode... 76/215176/2
authorhj kim <backto.kim@samsung.com>
Wed, 2 Oct 2019 07:20:10 +0000 (16:20 +0900)
committerhj kim <backto.kim@samsung.com>
Wed, 2 Oct 2019 08:19:14 +0000 (17:19 +0900)
Change-Id: Ib5bbe17ce83e75235b9b444db061917f7a4cdc73

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 cb1ccf5ac40e86587585ba2e08f0489a9cf71bea..251959324cc883243822a98a1d5033b7bbb58c11 100644 (file)
@@ -123,3 +123,39 @@ 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
+utc_mc_server_update_subtitles_enabled
+utc_mc_server_update_360_mode_enabled
+utc_mc_server_update_display_mode
+utc_mc_server_update_display_rotation
+utc_mc_server_set_subtitles_cmd_received_cb
+utc_mc_server_unset_subtitles_cmd_received_cb
+utc_mc_server_set_360_mode_cmd_received_cb
+utc_mc_server_unset_360_mode_cmd_received_cb
+utc_mc_server_set_display_mode_cmd_received_cb
+utc_mc_server_unset_display_mode_cmd_received_cb
+utc_mc_server_set_display_rotation_cmd_received_cb
+utc_mc_server_unset_display_rotation_cmd_received_cb
+utc_mc_server_set_display_mode_ability
+utc_mc_server_set_display_rotation_ability
+utc_mc_client_set_display_mode_ability_updated_cb
+utc_mc_client_unset_display_mode_ability_updated_cb
+utc_mc_client_set_display_rotation_ability_updated_cb
+utc_mc_client_unset_display_rotation_ability_updated_cb
+utc_mc_client_set_subtitles_updated_cb
+utc_mc_client_unset_subtitles_updated_cb
+utc_mc_client_set_360_mode_updated_cb
+utc_mc_client_unset_360_mode_updated_cb
+utc_mc_client_set_display_mode_updated_cb
+utc_mc_client_unset_display_mode_updated_cb
+utc_mc_client_set_display_rotation_updated_cb
+utc_mc_client_unset_display_rotation_updated_cb
+utc_mc_client_get_server_subtitles_enabled
+utc_mc_client_get_server_360_mode_enabled
+utc_mc_client_get_server_display_mode
+utc_mc_client_get_server_display_rotation
+utc_mc_client_get_server_display_mode_ability
+utc_mc_client_get_server_display_rotation_ability
+utc_mc_client_send_subtitles_cmd
+utc_mc_client_send_360_mode_cmd
+utc_mc_client_send_display_mode_cmd
+utc_mc_client_send_display_rotation_cmd
index 5241c9145f7b58ca64740097d1a8ae7ac5bd5a10..5b73c4e95186641eeec40101aa00d20936872b66 100644 (file)
@@ -275,6 +275,78 @@ extern int utc_mc_search_clone_p(void);
 extern int utc_mc_search_clone_n(void);
 extern int utc_mc_search_destroy_p(void);
 extern int utc_mc_search_destroy_n(void);
+extern int utc_mc_server_update_subtitles_enabled_p(void);
+extern int utc_mc_server_update_subtitles_enabled_n(void);
+extern int utc_mc_server_update_360_mode_enabled_p(void);
+extern int utc_mc_server_update_360_mode_enabled_n(void);
+extern int utc_mc_server_update_display_mode_p(void);
+extern int utc_mc_server_update_display_mode_n(void);
+extern int utc_mc_server_update_display_rotation_p(void);
+extern int utc_mc_server_update_display_rotation_n(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_ability_p(void);
+extern int utc_mc_server_set_display_mode_ability_n(void);
+extern int utc_mc_server_set_display_rotation_ability_p(void);
+extern int utc_mc_server_set_display_rotation_ability_n(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_set_subtitles_updated_cb_p(void);
+extern int utc_mc_client_set_subtitles_updated_cb_n(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_p(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_n(void);
+extern int utc_mc_client_set_360_mode_updated_cb_p(void);
+extern int utc_mc_client_set_360_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_mode_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_get_server_subtitles_enabled_p(void);
+extern int utc_mc_client_get_server_subtitles_enabled_n(void);
+extern int utc_mc_client_get_server_360_mode_enabled_p(void);
+extern int utc_mc_client_get_server_360_mode_enabled_n(void);
+extern int utc_mc_client_get_server_display_mode_p(void);
+extern int utc_mc_client_get_server_display_mode_n(void);
+extern int utc_mc_client_get_server_display_rotation_p(void);
+extern int utc_mc_client_get_server_display_rotation_n(void);
+extern int utc_mc_client_get_server_display_mode_ability_p(void);
+extern int utc_mc_client_get_server_display_mode_ability_n(void);
+extern int utc_mc_client_get_server_display_rotation_ability_p(void);
+extern int utc_mc_client_get_server_display_rotation_ability_n(void);
+extern int utc_mc_client_send_subtitles_cmd_p(void);
+extern int utc_mc_client_send_subtitles_cmd_n(void);
+extern int utc_mc_client_send_360_mode_cmd_p(void);
+extern int utc_mc_client_send_360_mode_cmd_n(void);
+extern int utc_mc_client_send_display_mode_cmd_p(void);
+extern int utc_mc_client_send_display_mode_cmd_n(void);
+extern int utc_mc_client_send_display_rotation_cmd_p(void);
+extern int utc_mc_client_send_display_rotation_cmd_n(void);
 
 
 testcase tc_array[] = {
@@ -528,6 +600,78 @@ testcase tc_array[] = {
        {"utc_mc_search_clone_n",utc_mc_search_clone_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_p",utc_mc_search_destroy_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_n",utc_mc_search_destroy_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_p",utc_mc_server_update_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_n",utc_mc_server_update_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_p",utc_mc_server_update_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_n",utc_mc_server_update_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_p",utc_mc_server_update_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_n",utc_mc_server_update_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_p",utc_mc_server_update_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_n",utc_mc_server_update_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_p",utc_mc_server_set_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_n",utc_mc_server_set_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_p",utc_mc_server_unset_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_n",utc_mc_server_unset_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_p",utc_mc_server_set_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_n",utc_mc_server_set_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_p",utc_mc_server_unset_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_n",utc_mc_server_unset_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_p",utc_mc_server_set_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_n",utc_mc_server_set_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_p",utc_mc_server_unset_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_n",utc_mc_server_unset_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_p",utc_mc_server_set_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_n",utc_mc_server_set_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_p",utc_mc_server_unset_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_n",utc_mc_server_unset_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_p",utc_mc_server_set_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_n",utc_mc_server_set_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_p",utc_mc_server_set_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_n",utc_mc_server_set_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_p",utc_mc_client_set_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_n",utc_mc_client_set_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_p",utc_mc_client_unset_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_n",utc_mc_client_unset_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_p",utc_mc_client_set_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_n",utc_mc_client_set_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_p",utc_mc_client_unset_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_n",utc_mc_client_unset_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_p",utc_mc_client_set_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_n",utc_mc_client_set_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_p",utc_mc_client_unset_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_n",utc_mc_client_unset_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_p",utc_mc_client_set_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_n",utc_mc_client_set_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_p",utc_mc_client_unset_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_n",utc_mc_client_unset_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_p",utc_mc_client_set_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_n",utc_mc_client_set_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_p",utc_mc_client_unset_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_n",utc_mc_client_unset_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_p",utc_mc_client_set_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_n",utc_mc_client_set_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_p",utc_mc_client_unset_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_n",utc_mc_client_unset_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_p",utc_mc_client_get_server_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_n",utc_mc_client_get_server_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_p",utc_mc_client_get_server_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_n",utc_mc_client_get_server_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_p",utc_mc_client_get_server_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_n",utc_mc_client_get_server_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_p",utc_mc_client_get_server_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_n",utc_mc_client_get_server_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_p",utc_mc_client_get_server_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_n",utc_mc_client_get_server_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_p",utc_mc_client_get_server_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_n",utc_mc_client_get_server_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_p",utc_mc_client_send_subtitles_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_n",utc_mc_client_send_subtitles_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_p",utc_mc_client_send_360_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_n",utc_mc_client_send_360_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_p",utc_mc_client_send_display_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_n",utc_mc_client_send_display_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_p",utc_mc_client_send_display_rotation_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_n",utc_mc_client_send_display_rotation_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {NULL, NULL}
 };
 
index 5241c9145f7b58ca64740097d1a8ae7ac5bd5a10..5b73c4e95186641eeec40101aa00d20936872b66 100644 (file)
@@ -275,6 +275,78 @@ extern int utc_mc_search_clone_p(void);
 extern int utc_mc_search_clone_n(void);
 extern int utc_mc_search_destroy_p(void);
 extern int utc_mc_search_destroy_n(void);
+extern int utc_mc_server_update_subtitles_enabled_p(void);
+extern int utc_mc_server_update_subtitles_enabled_n(void);
+extern int utc_mc_server_update_360_mode_enabled_p(void);
+extern int utc_mc_server_update_360_mode_enabled_n(void);
+extern int utc_mc_server_update_display_mode_p(void);
+extern int utc_mc_server_update_display_mode_n(void);
+extern int utc_mc_server_update_display_rotation_p(void);
+extern int utc_mc_server_update_display_rotation_n(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_ability_p(void);
+extern int utc_mc_server_set_display_mode_ability_n(void);
+extern int utc_mc_server_set_display_rotation_ability_p(void);
+extern int utc_mc_server_set_display_rotation_ability_n(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_set_subtitles_updated_cb_p(void);
+extern int utc_mc_client_set_subtitles_updated_cb_n(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_p(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_n(void);
+extern int utc_mc_client_set_360_mode_updated_cb_p(void);
+extern int utc_mc_client_set_360_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_mode_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_get_server_subtitles_enabled_p(void);
+extern int utc_mc_client_get_server_subtitles_enabled_n(void);
+extern int utc_mc_client_get_server_360_mode_enabled_p(void);
+extern int utc_mc_client_get_server_360_mode_enabled_n(void);
+extern int utc_mc_client_get_server_display_mode_p(void);
+extern int utc_mc_client_get_server_display_mode_n(void);
+extern int utc_mc_client_get_server_display_rotation_p(void);
+extern int utc_mc_client_get_server_display_rotation_n(void);
+extern int utc_mc_client_get_server_display_mode_ability_p(void);
+extern int utc_mc_client_get_server_display_mode_ability_n(void);
+extern int utc_mc_client_get_server_display_rotation_ability_p(void);
+extern int utc_mc_client_get_server_display_rotation_ability_n(void);
+extern int utc_mc_client_send_subtitles_cmd_p(void);
+extern int utc_mc_client_send_subtitles_cmd_n(void);
+extern int utc_mc_client_send_360_mode_cmd_p(void);
+extern int utc_mc_client_send_360_mode_cmd_n(void);
+extern int utc_mc_client_send_display_mode_cmd_p(void);
+extern int utc_mc_client_send_display_mode_cmd_n(void);
+extern int utc_mc_client_send_display_rotation_cmd_p(void);
+extern int utc_mc_client_send_display_rotation_cmd_n(void);
 
 
 testcase tc_array[] = {
@@ -528,6 +600,78 @@ testcase tc_array[] = {
        {"utc_mc_search_clone_n",utc_mc_search_clone_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_p",utc_mc_search_destroy_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_n",utc_mc_search_destroy_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_p",utc_mc_server_update_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_n",utc_mc_server_update_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_p",utc_mc_server_update_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_n",utc_mc_server_update_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_p",utc_mc_server_update_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_n",utc_mc_server_update_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_p",utc_mc_server_update_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_n",utc_mc_server_update_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_p",utc_mc_server_set_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_n",utc_mc_server_set_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_p",utc_mc_server_unset_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_n",utc_mc_server_unset_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_p",utc_mc_server_set_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_n",utc_mc_server_set_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_p",utc_mc_server_unset_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_n",utc_mc_server_unset_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_p",utc_mc_server_set_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_n",utc_mc_server_set_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_p",utc_mc_server_unset_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_n",utc_mc_server_unset_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_p",utc_mc_server_set_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_n",utc_mc_server_set_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_p",utc_mc_server_unset_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_n",utc_mc_server_unset_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_p",utc_mc_server_set_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_n",utc_mc_server_set_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_p",utc_mc_server_set_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_n",utc_mc_server_set_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_p",utc_mc_client_set_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_n",utc_mc_client_set_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_p",utc_mc_client_unset_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_n",utc_mc_client_unset_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_p",utc_mc_client_set_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_n",utc_mc_client_set_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_p",utc_mc_client_unset_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_n",utc_mc_client_unset_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_p",utc_mc_client_set_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_n",utc_mc_client_set_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_p",utc_mc_client_unset_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_n",utc_mc_client_unset_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_p",utc_mc_client_set_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_n",utc_mc_client_set_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_p",utc_mc_client_unset_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_n",utc_mc_client_unset_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_p",utc_mc_client_set_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_n",utc_mc_client_set_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_p",utc_mc_client_unset_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_n",utc_mc_client_unset_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_p",utc_mc_client_set_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_n",utc_mc_client_set_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_p",utc_mc_client_unset_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_n",utc_mc_client_unset_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_p",utc_mc_client_get_server_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_n",utc_mc_client_get_server_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_p",utc_mc_client_get_server_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_n",utc_mc_client_get_server_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_p",utc_mc_client_get_server_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_n",utc_mc_client_get_server_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_p",utc_mc_client_get_server_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_n",utc_mc_client_get_server_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_p",utc_mc_client_get_server_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_n",utc_mc_client_get_server_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_p",utc_mc_client_get_server_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_n",utc_mc_client_get_server_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_p",utc_mc_client_send_subtitles_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_n",utc_mc_client_send_subtitles_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_p",utc_mc_client_send_360_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_n",utc_mc_client_send_360_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_p",utc_mc_client_send_display_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_n",utc_mc_client_send_display_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_p",utc_mc_client_send_display_rotation_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_n",utc_mc_client_send_display_rotation_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {NULL, NULL}
 };
 
index 5241c9145f7b58ca64740097d1a8ae7ac5bd5a10..5b73c4e95186641eeec40101aa00d20936872b66 100644 (file)
@@ -275,6 +275,78 @@ extern int utc_mc_search_clone_p(void);
 extern int utc_mc_search_clone_n(void);
 extern int utc_mc_search_destroy_p(void);
 extern int utc_mc_search_destroy_n(void);
+extern int utc_mc_server_update_subtitles_enabled_p(void);
+extern int utc_mc_server_update_subtitles_enabled_n(void);
+extern int utc_mc_server_update_360_mode_enabled_p(void);
+extern int utc_mc_server_update_360_mode_enabled_n(void);
+extern int utc_mc_server_update_display_mode_p(void);
+extern int utc_mc_server_update_display_mode_n(void);
+extern int utc_mc_server_update_display_rotation_p(void);
+extern int utc_mc_server_update_display_rotation_n(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_set_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_subtitles_cmd_received_cb_n(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_360_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_mode_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_set_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_p(void);
+extern int utc_mc_server_unset_display_rotation_cmd_received_cb_n(void);
+extern int utc_mc_server_set_display_mode_ability_p(void);
+extern int utc_mc_server_set_display_mode_ability_n(void);
+extern int utc_mc_server_set_display_rotation_ability_p(void);
+extern int utc_mc_server_set_display_rotation_ability_n(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_ability_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_ability_updated_cb_n(void);
+extern int utc_mc_client_set_subtitles_updated_cb_p(void);
+extern int utc_mc_client_set_subtitles_updated_cb_n(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_p(void);
+extern int utc_mc_client_unset_subtitles_updated_cb_n(void);
+extern int utc_mc_client_set_360_mode_updated_cb_p(void);
+extern int utc_mc_client_set_360_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_360_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_mode_updated_cb_p(void);
+extern int utc_mc_client_set_display_mode_updated_cb_n(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_p(void);
+extern int utc_mc_client_unset_display_mode_updated_cb_n(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_set_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_p(void);
+extern int utc_mc_client_unset_display_rotation_updated_cb_n(void);
+extern int utc_mc_client_get_server_subtitles_enabled_p(void);
+extern int utc_mc_client_get_server_subtitles_enabled_n(void);
+extern int utc_mc_client_get_server_360_mode_enabled_p(void);
+extern int utc_mc_client_get_server_360_mode_enabled_n(void);
+extern int utc_mc_client_get_server_display_mode_p(void);
+extern int utc_mc_client_get_server_display_mode_n(void);
+extern int utc_mc_client_get_server_display_rotation_p(void);
+extern int utc_mc_client_get_server_display_rotation_n(void);
+extern int utc_mc_client_get_server_display_mode_ability_p(void);
+extern int utc_mc_client_get_server_display_mode_ability_n(void);
+extern int utc_mc_client_get_server_display_rotation_ability_p(void);
+extern int utc_mc_client_get_server_display_rotation_ability_n(void);
+extern int utc_mc_client_send_subtitles_cmd_p(void);
+extern int utc_mc_client_send_subtitles_cmd_n(void);
+extern int utc_mc_client_send_360_mode_cmd_p(void);
+extern int utc_mc_client_send_360_mode_cmd_n(void);
+extern int utc_mc_client_send_display_mode_cmd_p(void);
+extern int utc_mc_client_send_display_mode_cmd_n(void);
+extern int utc_mc_client_send_display_rotation_cmd_p(void);
+extern int utc_mc_client_send_display_rotation_cmd_n(void);
 
 
 testcase tc_array[] = {
@@ -528,6 +600,78 @@ testcase tc_array[] = {
        {"utc_mc_search_clone_n",utc_mc_search_clone_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_p",utc_mc_search_destroy_p,utc_media_controller_startup,utc_media_controller_cleanup},
        {"utc_mc_search_destroy_n",utc_mc_search_destroy_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_p",utc_mc_server_update_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_subtitles_enabled_n",utc_mc_server_update_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_p",utc_mc_server_update_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_360_mode_enabled_n",utc_mc_server_update_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_p",utc_mc_server_update_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_mode_n",utc_mc_server_update_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_p",utc_mc_server_update_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_update_display_rotation_n",utc_mc_server_update_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_p",utc_mc_server_set_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_subtitles_cmd_received_cb_n",utc_mc_server_set_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_p",utc_mc_server_unset_subtitles_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_subtitles_cmd_received_cb_n",utc_mc_server_unset_subtitles_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_p",utc_mc_server_set_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_360_mode_cmd_received_cb_n",utc_mc_server_set_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_p",utc_mc_server_unset_360_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_360_mode_cmd_received_cb_n",utc_mc_server_unset_360_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_p",utc_mc_server_set_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_cmd_received_cb_n",utc_mc_server_set_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_p",utc_mc_server_unset_display_mode_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_mode_cmd_received_cb_n",utc_mc_server_unset_display_mode_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_p",utc_mc_server_set_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_cmd_received_cb_n",utc_mc_server_set_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_p",utc_mc_server_unset_display_rotation_cmd_received_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_unset_display_rotation_cmd_received_cb_n",utc_mc_server_unset_display_rotation_cmd_received_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_p",utc_mc_server_set_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_mode_ability_n",utc_mc_server_set_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_p",utc_mc_server_set_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_server_set_display_rotation_ability_n",utc_mc_server_set_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_p",utc_mc_client_set_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_ability_updated_cb_n",utc_mc_client_set_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_p",utc_mc_client_unset_display_mode_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_ability_updated_cb_n",utc_mc_client_unset_display_mode_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_p",utc_mc_client_set_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_ability_updated_cb_n",utc_mc_client_set_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_p",utc_mc_client_unset_display_rotation_ability_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_ability_updated_cb_n",utc_mc_client_unset_display_rotation_ability_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_p",utc_mc_client_set_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_subtitles_updated_cb_n",utc_mc_client_set_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_p",utc_mc_client_unset_subtitles_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_subtitles_updated_cb_n",utc_mc_client_unset_subtitles_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_p",utc_mc_client_set_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_360_mode_updated_cb_n",utc_mc_client_set_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_p",utc_mc_client_unset_360_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_360_mode_updated_cb_n",utc_mc_client_unset_360_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_p",utc_mc_client_set_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_mode_updated_cb_n",utc_mc_client_set_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_p",utc_mc_client_unset_display_mode_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_mode_updated_cb_n",utc_mc_client_unset_display_mode_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_p",utc_mc_client_set_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_set_display_rotation_updated_cb_n",utc_mc_client_set_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_p",utc_mc_client_unset_display_rotation_updated_cb_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_unset_display_rotation_updated_cb_n",utc_mc_client_unset_display_rotation_updated_cb_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_p",utc_mc_client_get_server_subtitles_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_subtitles_enabled_n",utc_mc_client_get_server_subtitles_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_p",utc_mc_client_get_server_360_mode_enabled_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_360_mode_enabled_n",utc_mc_client_get_server_360_mode_enabled_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_p",utc_mc_client_get_server_display_mode_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_n",utc_mc_client_get_server_display_mode_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_p",utc_mc_client_get_server_display_rotation_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_n",utc_mc_client_get_server_display_rotation_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_p",utc_mc_client_get_server_display_mode_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_mode_ability_n",utc_mc_client_get_server_display_mode_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_p",utc_mc_client_get_server_display_rotation_ability_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_get_server_display_rotation_ability_n",utc_mc_client_get_server_display_rotation_ability_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_p",utc_mc_client_send_subtitles_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_subtitles_cmd_n",utc_mc_client_send_subtitles_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_p",utc_mc_client_send_360_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_360_mode_cmd_n",utc_mc_client_send_360_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_p",utc_mc_client_send_display_mode_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_mode_cmd_n",utc_mc_client_send_display_mode_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_p",utc_mc_client_send_display_rotation_cmd_p,utc_media_controller_startup,utc_media_controller_cleanup},
+       {"utc_mc_client_send_display_rotation_cmd_n",utc_mc_client_send_display_rotation_cmd_n,utc_media_controller_startup,utc_media_controller_cleanup},
        {NULL, NULL}
 };
 
index c1f760f6d850777aa1259e61f5bea3ed5b69ab4d..daafa8e4bf9abaf02b2d3500116d78b3dd54dd3c 100755 (executable)
@@ -436,6 +436,60 @@ void _mc_shuffle_mode_updated_cb(const char *server_name, mc_shuffle_mode_e mode
        signal_async(TRUE);
 }
 
+void _mc_bool_attribute_updated_cb(const char *server_name, bool enabled, 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 (enabled != true) {
+               FPRINTF("[%d:%s] wrong attribute status [%d][%d]\\n", __LINE__, __FUNCTION__, enabled, false);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
+void _mc_display_mode_updated_cb(const char *server_name, mc_display_mode_e mode, 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 (mode != MC_DISPLAY_MODE_FULL_SCREEN) {
+               FPRINTF("[%d:%s] wrong display mode [%d][%d]\\n", __LINE__, __FUNCTION__, mode, MC_DISPLAY_MODE_FULL_SCREEN);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
+void _mc_display_rotation_updated_cb(const char *server_name, mc_display_rotation_e rotation, 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 (rotation != MC_DISPLAY_ROTATION_270) {
+               FPRINTF("[%d:%s] wrong display rotation [%d][%d]\\n", __LINE__, __FUNCTION__, rotation, MC_DISPLAY_ROTATION_270);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
 void _mc_repeat_mode_changed_cb(const char *server_name, mc_repeat_mode_e mode, void *user_data)
 {
        FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
@@ -743,3 +797,131 @@ bool _server_playlist_item_cb(const char *index, mc_metadata_h meta, void *user_
 
        return TRUE;
 }
+
+void _mc_server_enable_cmd_received_cb(const char *client_name, const char *request_id, bool enable, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+
+       if (strcmp(client_name, g_mc_test_appname)) {
+               FPRINTF("[%d:%s] wrong client name [%s][%s]\\n", __LINE__, __FUNCTION__, client_name, g_mc_test_appname);
+               return;
+       }
+
+       if (enable != true) {
+               FPRINTF("[%d:%s] enable is not true\\n", __LINE__, __FUNCTION__);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
+void _display_mode_cmd_received_cb(const char *client_name, const char *request_id, mc_display_mode_e display_mode, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+
+       if (strcmp(client_name, g_mc_test_appname)) {
+               FPRINTF("[%d:%s] wrong client name [%s][%s]\\n", __LINE__, __FUNCTION__, client_name, g_mc_test_appname);
+               return;
+       }
+
+       if (display_mode != MC_DISPLAY_MODE_FULL_SCREEN) {
+               FPRINTF("[%d:%s] wrong display mode [%d][%d]\\n", __LINE__, __FUNCTION__, display_mode, MC_DISPLAY_MODE_FULL_SCREEN);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
+void _display_rotation_cmd_received_cb(const char *client_name, const char *request_id, mc_display_rotation_e display_rotation, void *user_data)
+{
+       FPRINTF("[%d:%s] invoked\\n", __LINE__, __FUNCTION__);
+
+       if (strcmp(client_name, g_mc_test_appname)) {
+               FPRINTF("[%d:%s] wrong client name [%s][%s]\\n", __LINE__, __FUNCTION__, client_name, g_mc_test_appname);
+               return;
+       }
+
+       if (display_rotation != MC_DISPLAY_ROTATION_270) {
+               FPRINTF("[%d:%s] wrong display mode [%d][%d]\\n", __LINE__, __FUNCTION__, display_rotation, MC_DISPLAY_ROTATION_270);
+               signal_async(FALSE);
+               return;
+       }
+
+       signal_async(TRUE);
+}
+
+gboolean _mc_get_display_mode_ability(unsigned int supported_modes)
+{
+       if (!(supported_modes & MC_DISPLAY_MODE_LETTER_BOX)) {
+               FPRINTF("[%d:%s] wrong supported mode [%d][%d]\\n", __LINE__, __FUNCTION__, supported_modes, MC_DISPLAY_MODE_LETTER_BOX);
+               return FALSE;
+       }
+
+       if (!(supported_modes & MC_DISPLAY_MODE_ORIGIN_SIZE)) {
+               FPRINTF("[%d:%s] wrong supported mode [%d][%d]\\n", __LINE__, __FUNCTION__, supported_modes, MC_DISPLAY_MODE_ORIGIN_SIZE);
+               return FALSE;
+       }
+
+       if (!(supported_modes & MC_DISPLAY_MODE_FULL_SCREEN)) {
+               FPRINTF("[%d:%s] wrong supported mode [%d][%d]\\n", __LINE__, __FUNCTION__, supported_modes, MC_DISPLAY_MODE_FULL_SCREEN);
+               return FALSE;
+       }
+
+       if (!(supported_modes & MC_DISPLAY_MODE_CROPPED_FULL)) {
+               FPRINTF("[%d:%s] wrong supported mode [%d][%d]\\n", __LINE__, __FUNCTION__, supported_modes, MC_DISPLAY_MODE_CROPPED_FULL);
+               return FALSE;
+       }
+
+       return TRUE;
+}
+
+void _mc_display_mode_ability_updated_cb(const char *server_name, unsigned int supported_modes, 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;
+       }
+
+       signal_async(_mc_get_display_mode_ability(supported_modes));
+}
+
+gboolean _mc_get_display_rotation_ability(unsigned int supported_rotations)
+{
+       if (!(supported_rotations & MC_DISPLAY_ROTATION_NONE)) {
+               FPRINTF("[%d:%s] wrong supported rotation [%d][%d]\\n", __LINE__, __FUNCTION__, supported_rotations, MC_DISPLAY_ROTATION_NONE);
+               return FALSE;
+       }
+
+       if (!(supported_rotations & MC_DISPLAY_ROTATION_90)) {
+               FPRINTF("[%d:%s] wrong supported rotation [%d][%d]\\n", __LINE__, __FUNCTION__, supported_rotations, MC_DISPLAY_ROTATION_90);
+               return FALSE;
+       }
+
+       if (!(supported_rotations & MC_DISPLAY_ROTATION_180)) {
+               FPRINTF("[%d:%s] wrong supported rotation [%d][%d]\\n", __LINE__, __FUNCTION__, supported_rotations, MC_DISPLAY_ROTATION_180);
+               return FALSE;
+       }
+
+       if (!(supported_rotations & MC_DISPLAY_ROTATION_270)) {
+               FPRINTF("[%d:%s] wrong supported rotation [%d][%d]\\n", __LINE__, __FUNCTION__, supported_rotations, MC_DISPLAY_ROTATION_270);
+               return FALSE;
+       }
+
+       return TRUE;
+}
+
+void _mc_display_rotation_ability_updated_cb(const char *server_name, unsigned int supported_rotations, 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;
+       }
+
+       signal_async(_mc_get_display_rotation_ability(supported_rotations));
+}
index 9bf81b57cbc07e17bc649aee766a1ac3912725fa..699654934b84de3d9f988f0b4be8bb8f27d54b3f 100755 (executable)
@@ -126,6 +126,17 @@ bool _mc_subscribed_server_cb(const char *server_name, void *user_data);
 bool _mc_server_playlist_list_cb(mc_playlist_h playlist, void *user_data);
 bool _mc_search_condition_cb(mc_content_type_e content_type, mc_search_category_e category, const char *search_keyword, bundle *data, void *user_data);
 bool _server_playlist_item_cb(const char *index, mc_metadata_h meta, void *user_data);
+void _mc_bool_attribute_updated_cb(const char *server_name, bool enabled, void *user_data);
+void _mc_display_mode_updated_cb(const char *server_name, mc_display_mode_e mode, void *user_data);
+void _mc_display_rotation_updated_cb(const char *server_name, mc_display_rotation_e rotation, void *user_data);
+void _mc_server_enable_cmd_received_cb(const char *client_name, const char *request_id, bool enable, void *user_data);
+void _display_mode_cmd_received_cb(const char *client_name, const char *request_id, mc_display_mode_e display_mode, void *user_data);
+void _display_rotation_cmd_received_cb(const char *client_name, const char *request_id, mc_display_rotation_e display_rotation, void *user_data);
+gboolean _mc_get_display_mode_ability(unsigned int supported_modes);
+void _mc_display_mode_ability_updated_cb(const char *server_name, unsigned int supported_modes, void *user_data);
+gboolean _mc_get_display_rotation_ability(unsigned int supported_rotations);
+void _mc_display_rotation_ability_updated_cb(const char *server_name, unsigned int supported_rotations, void *user_data);
+
 
 //Add helper function declarations here
 gboolean wait_for_async();
index 93136e9b567ee9b1270db996ee833fe7fc48d56f..d47de21d8a95c12135b9dd2686afb36204e28b66 100755 (executable)
@@ -1238,6 +1238,159 @@ int utc_mc_server_update_repeat_mode_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_mc_server_update_subtitles_enabled_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_update_subtitles_enabled()
+ */
+int utc_mc_server_update_subtitles_enabled_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_subtitles_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_update_subtitles_enabled(g_mc_server, true);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_subtitles_enabled_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_update_subtitles_enabled()
+ */
+int utc_mc_server_update_subtitles_enabled_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_update_subtitles_enabled(NULL, true);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_360_mode_enabled_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_update_360_mode_enabled()
+ */
+int utc_mc_server_update_360_mode_enabled_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_360_mode_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_update_360_mode_enabled(g_mc_server, true);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;;
+}
+
+/**
+ * @testcase           utc_mc_server_update_360_mode_enabled_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_update_360_mode_enabled()
+ */
+int utc_mc_server_update_360_mode_enabled_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_update_360_mode_enabled(NULL, true);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_display_mode_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_update_display_mode()
+ */
+int utc_mc_server_update_display_mode_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_updated_cb(g_mc_client, _mc_display_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_update_display_mode(g_mc_server, MC_DISPLAY_MODE_FULL_SCREEN);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_display_mode_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_update_display_mode()
+ */
+int utc_mc_server_update_display_mode_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_update_display_mode(NULL, MC_DISPLAY_MODE_FULL_SCREEN);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_display_rotation_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_update_display_rotation()
+ */
+int utc_mc_server_update_display_rotation_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_updated_cb(g_mc_client, _mc_display_rotation_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_update_display_rotation(g_mc_server, MC_DISPLAY_ROTATION_270);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_update_display_rotation_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_update_display_rotation()
+ */
+int utc_mc_server_update_display_rotation_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_update_display_rotation(NULL, MC_DISPLAY_ROTATION_270);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_mc_server_set_playback_position_cmd_received_cb_p
  * @since_tizen                4.0
@@ -1701,1133 +1854,1139 @@ int utc_mc_server_unset_custom_cmd_received_cb_n(void)
 }
 
 /**
- * @testcase           utc_mc_server_send_cmd_reply_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_send_cmd_reply()
+ * @testcase           utc_mc_server_set_subtitles_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_subtitles_cmd_received_cb()
  */
-int utc_mc_server_send_cmd_reply_p(void)
+int utc_mc_server_set_subtitles_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = __mc_server_set_ability(g_mc_test_ability);
+       ret = mc_server_set_subtitles_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
        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);
+       return 0;
+}
 
-       ret = mc_client_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, &g_mc_reply_data);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+/**
+ * @testcase           utc_mc_server_set_subtitles_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_subtitles_cmd_received_cb()
+ */
+int utc_mc_server_set_subtitles_cmd_received_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, &g_mc_custom_data);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       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_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+       ret = mc_server_set_subtitles_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       assert_eq(g_mc_custom_data.result, TRUE);
-       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);
+       return 0;
+}
 
-       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
+/**
+ * @testcase           utc_mc_server_unset_subtitles_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_unset_subtitles_cmd_received_cb()
+ */
+int utc_mc_server_unset_subtitles_cmd_received_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_subtitles_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, 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);
+       ret = mc_server_unset_subtitles_cmd_received_cb(g_mc_server);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_send_cmd_reply_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_send_cmd_reply()
+ * @testcase           utc_mc_server_unset_subtitles_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_unset_subtitles_cmd_received_cb()
  */
-int utc_mc_server_send_cmd_reply_n(void)
+int utc_mc_server_unset_subtitles_cmd_received_cb_n(void)
 {
        assert_eq(startup_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(g_mc_server, NULL, g_request_id, g_mc_test_reply_result, NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_server_set_subtitles_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_send_cmd_reply(g_mc_server, g_mc_test_appname, NULL, g_mc_test_reply_result, NULL);
+       ret = mc_server_unset_subtitles_cmd_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_create_playlist_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_create_playlist()
+ * @testcase           utc_mc_server_set_360_mode_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_360_mode_cmd_received_cb()
  */
-int utc_mc_server_create_playlist_p(void)
+int utc_mc_server_set_360_mode_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
-
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_playlist_destroy(playlist);
+       ret = mc_server_set_360_mode_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_create_playlist_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_create_playlist()
+ * @testcase           utc_mc_server_set_360_mode_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_360_mode_cmd_received_cb()
  */
-int utc_mc_server_create_playlist_n(void)
+int utc_mc_server_set_360_mode_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, NULL);
+       ret = mc_server_set_360_mode_cmd_received_cb(g_mc_server, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_add_item_to_playlist_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_add_item_to_playlist()
+ * @testcase           utc_mc_server_unset_360_mode_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_unset_360_mode_cmd_received_cb()
  */
-int utc_mc_server_add_item_to_playlist_p(void)
+int utc_mc_server_unset_360_mode_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
-
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ARTIST, g_mc_test_playlist_metadata[1]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ALBUM, g_mc_test_playlist_metadata[2]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_AUTHOR, g_mc_test_playlist_metadata[3]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_GENRE, g_mc_test_playlist_metadata[4]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DURATION, g_mc_test_playlist_metadata[5]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DATE, g_mc_test_playlist_metadata[6]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_COPYRIGHT, g_mc_test_playlist_metadata[7]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DESCRIPTION, g_mc_test_playlist_metadata[8]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TRACK_NUM, g_mc_test_playlist_metadata[9]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_PICTURE, g_mc_test_playlist_metadata[10]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, "2", MC_META_MEDIA_TITLE, "title_2");
+       ret = mc_server_set_360_mode_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_playlist_destroy(playlist);
+       ret = mc_server_unset_360_mode_cmd_received_cb(g_mc_server);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_add_item_to_playlist_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_add_item_to_playlist()
+ * @testcase           utc_mc_server_unset_360_mode_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_unset_360_mode_cmd_received_cb()
  */
-int utc_mc_server_add_item_to_playlist_n(void)
+int utc_mc_server_unset_360_mode_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       ret = mc_server_set_360_mode_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, NULL, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
+       ret = mc_server_unset_360_mode_cmd_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_playlist_destroy(playlist);
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_server_set_display_mode_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_display_mode_cmd_received_cb()
+ */
+int utc_mc_server_set_display_mode_cmd_received_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_display_mode_cmd_received_cb(g_mc_server, _display_mode_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_update_playlist_done_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_update_playlist_done()
+ * @testcase           utc_mc_server_set_display_mode_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_display_mode_cmd_received_cb()
  */
-int utc_mc_server_update_playlist_done_p(void)
+int utc_mc_server_set_display_mode_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_set_playlist_updated_cb(g_mc_client, _mc_playlist_updated_cb, NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_set_display_mode_cmd_received_cb(g_mc_server, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       return 0;
+}
 
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ARTIST, g_mc_test_playlist_metadata[1]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ALBUM, g_mc_test_playlist_metadata[2]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_AUTHOR, g_mc_test_playlist_metadata[3]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_GENRE, g_mc_test_playlist_metadata[4]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DURATION, g_mc_test_playlist_metadata[5]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DATE, g_mc_test_playlist_metadata[6]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_COPYRIGHT, g_mc_test_playlist_metadata[7]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DESCRIPTION, g_mc_test_playlist_metadata[8]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TRACK_NUM, g_mc_test_playlist_metadata[9]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_PICTURE, g_mc_test_playlist_metadata[10]);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+/**
+ * @testcase           utc_mc_server_unset_display_mode_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_unset_display_mode_cmd_received_cb()
+ */
+int utc_mc_server_unset_display_mode_cmd_received_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_update_playlist_done(g_mc_server, playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+       ret = mc_server_set_display_mode_cmd_received_cb(g_mc_server, _display_mode_cmd_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_playlist_destroy(playlist);
+       ret = mc_server_unset_display_mode_cmd_received_cb(g_mc_server);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_update_playlist_done_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_update_playlist_done()
+ * @testcase           utc_mc_server_unset_display_mode_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_unset_display_mode_cmd_received_cb()
  */
-int utc_mc_server_update_playlist_done_n(void)
+int utc_mc_server_unset_display_mode_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       ret = mc_server_set_display_mode_cmd_received_cb(g_mc_server, _display_mode_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_update_playlist_done(g_mc_server, NULL);
+       ret = mc_server_unset_display_mode_cmd_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_playlist_destroy(playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_delete_playlist_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_delete_playlist()
+ * @testcase           utc_mc_server_set_display_rotation_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_display_rotation_cmd_received_cb()
  */
-int utc_mc_server_delete_playlist_p(void)
+int utc_mc_server_set_display_rotation_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
-
-       ret = __mc_register_playlist(&playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-       ret = mc_server_delete_playlist(g_mc_server, playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_playlist_destroy(playlist);
+       ret = mc_server_set_display_rotation_cmd_received_cb(g_mc_server, _display_rotation_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_delete_playlist_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_delete_playlist()
+ * @testcase           utc_mc_server_set_display_rotation_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_display_rotation_cmd_received_cb()
  */
-int utc_mc_server_delete_playlist_n(void)
+int utc_mc_server_set_display_rotation_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-       ret = mc_server_delete_playlist(g_mc_server, NULL);
+       ret = mc_server_set_display_rotation_cmd_received_cb(g_mc_server, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_playlist_destroy(playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_foreach_playlist_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_foreach_playlist()
+ * @testcase           utc_mc_server_unset_display_rotation_cmd_received_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_unset_display_rotation_cmd_received_cb()
  */
-int utc_mc_server_foreach_playlist_p(void)
+int utc_mc_server_unset_display_rotation_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
-       gboolean cb_result = FALSE;
-
-       ret = __mc_register_playlist(&playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_foreach_playlist(g_mc_server, _mc_server_playlist_list_cb, &cb_result);
+       ret = mc_server_set_display_rotation_cmd_received_cb(g_mc_server, _display_rotation_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       assert_eq(cb_result, TRUE);
-
-       ret = mc_playlist_destroy(playlist);
+       ret = mc_server_unset_display_rotation_cmd_received_cb(g_mc_server);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_foreach_playlist_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_foreach_playlist()
+ * @testcase           utc_mc_server_unset_display_rotation_cmd_received_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_unset_display_rotation_cmd_received_cb()
  */
-int utc_mc_server_foreach_playlist_n(void)
+int utc_mc_server_unset_display_rotation_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       ret = mc_server_set_display_rotation_cmd_received_cb(g_mc_server, _display_rotation_cmd_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_foreach_playlist(g_mc_server, NULL, NULL);
+       ret = mc_server_unset_display_rotation_cmd_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_playlist_destroy(playlist);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_foreach_client_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_foreach_client()
+ * @testcase           utc_mc_server_set_display_mode_ability_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_display_mode_ability()
  */
-int utc_mc_server_foreach_client_p(void)
+int utc_mc_server_set_display_mode_ability_p(void)
 {
        assert_eq(startup_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);
+       ret = mc_server_set_display_mode_ability(g_mc_server,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_neq(g_mc_client_name, NULL);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_foreach_client_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_foreach_client()
+ * @testcase           utc_mc_server_set_display_mode_ability_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_display_mode_ability()
  */
-int utc_mc_server_foreach_client_n(void)
+int utc_mc_server_set_display_mode_ability_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_server_foreach_client(NULL, _mc_activated_client_cb, NULL);
+       ret = mc_server_set_display_mode_ability(NULL,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_server_foreach_client(g_mc_client, NULL, NULL);
+       ret = mc_server_set_display_mode_ability(g_mc_server,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, -1);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_set_event_reply_received_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_server_set_event_reply_received_cb()
+ * @testcase           utc_mc_server_set_display_rotation_ability_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_server_set_display_rotation_ability()
  */
-int utc_mc_server_set_event_reply_received_cb_p(void)
+int utc_mc_server_set_display_rotation_ability_p(void)
 {
        assert_eq(startup_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);
+       ret = mc_server_set_display_rotation_ability(g_mc_server,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_set_event_reply_received_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_server_set_event_reply_received_cb()
+ * @testcase           utc_mc_server_set_display_rotation_ability_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_server_set_display_rotation_ability()
  */
-int utc_mc_server_set_event_reply_received_cb_n(void)
+int utc_mc_server_set_display_rotation_ability_n(void)
 {
        assert_eq(startup_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);
+       ret = mc_server_set_display_rotation_ability(NULL,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_server_set_event_reply_received_cb(g_mc_server, NULL, NULL);
+       ret = mc_server_set_display_rotation_ability(g_mc_server,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, -1);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_unset_event_reply_received_cb_p
+ * @testcase           utc_mc_server_send_cmd_reply_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_server_unset_event_reply_received_cb()
+ * @description                Positive test case of mc_server_send_cmd_reply()
  */
-int utc_mc_server_unset_event_reply_received_cb_p(void)
+int utc_mc_server_send_cmd_reply_p(void)
 {
        assert_eq(startup_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);
+       ret = __mc_server_set_ability(g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_unset_event_reply_received_cb(g_mc_server);
+       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_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, &g_mc_reply_data);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, &g_mc_custom_data);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       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_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       assert_eq(g_mc_custom_data.result, TRUE);
+       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_server_send_cmd_reply(g_mc_server, 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;
 }
 
 /**
- * @testcase           utc_mc_server_unset_event_reply_received_cb_n
+ * @testcase           utc_mc_server_send_cmd_reply_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_server_unset_event_reply_received_cb()
+ * @description                Negative test case of mc_server_send_cmd_reply()
  */
-int utc_mc_server_unset_event_reply_received_cb_n(void)
+int utc_mc_server_send_cmd_reply_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_server_unset_event_reply_received_cb(NULL);
+       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, g_mc_test_appname, NULL, g_mc_test_reply_result, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_send_custom_event_p
+ * @testcase           utc_mc_server_create_playlist_p
  * @since_tizen                4.0
- * @description                Negative test case of mc_server_send_custom_event()
+ * @description                Positive test case of mc_server_create_playlist()
  */
-int utc_mc_server_send_custom_event_p(void)
+int utc_mc_server_create_playlist_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_set_custom_event_received_cb(g_mc_client, _mc_custom_event_received_cb, NULL);
-       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);
-       assert_neq(g_mc_client_name, NULL);
-
-       ret = mc_server_send_custom_event(g_mc_server, g_mc_client_name, g_mc_test_event, NULL, NULL);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       ret = mc_client_unset_custom_event_received_cb(g_mc_client);
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_send_custom_event_n
+ * @testcase           utc_mc_server_create_playlist_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_server_send_custom_event()
+ * @description                Negative test case of mc_server_create_playlist()
  */
-int utc_mc_server_send_custom_event_n(void)
+int utc_mc_server_create_playlist_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_server_send_custom_event(NULL, NULL, g_mc_test_event, NULL, &g_request_id);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
-
-       ret = mc_server_send_custom_event(g_mc_server, NULL, g_mc_test_event, NULL, &g_request_id);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_set_search_cmd_received_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_server_set_search_cmd_received_cb()
+ * @testcase           utc_mc_server_add_item_to_playlist_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_server_add_item_to_playlist()
  */
-int utc_mc_server_set_search_cmd_received_cb_p(void)
+int utc_mc_server_add_item_to_playlist_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ARTIST, g_mc_test_playlist_metadata[1]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ALBUM, g_mc_test_playlist_metadata[2]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_AUTHOR, g_mc_test_playlist_metadata[3]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_GENRE, g_mc_test_playlist_metadata[4]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DURATION, g_mc_test_playlist_metadata[5]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DATE, g_mc_test_playlist_metadata[6]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_COPYRIGHT, g_mc_test_playlist_metadata[7]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DESCRIPTION, g_mc_test_playlist_metadata[8]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TRACK_NUM, g_mc_test_playlist_metadata[9]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_PICTURE, g_mc_test_playlist_metadata[10]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, "2", MC_META_MEDIA_TITLE, "title_2");
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_set_search_cmd_received_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_server_set_search_cmd_received_cb()
+ * @testcase           utc_mc_server_add_item_to_playlist_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_server_add_item_to_playlist()
  */
-int utc_mc_server_set_search_cmd_received_cb_n(void)
+int utc_mc_server_add_item_to_playlist_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       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_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_set_search_cmd_received_cb(g_mc_server, NULL, NULL);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, NULL, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
+       ret = mc_playlist_destroy(playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        return 0;
 }
 
 /**
- * @testcase           utc_mc_server_unset_search_cmd_received_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_server_unset_search_cmd_received_cb()
+ * @testcase           utc_mc_server_update_playlist_done_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_server_update_playlist_done()
  */
-int utc_mc_server_unset_search_cmd_received_cb_p(void)
+int utc_mc_server_update_playlist_done_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       ret = mc_client_set_playlist_updated_cb(g_mc_client, _mc_playlist_updated_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_unset_search_cmd_received_cb(g_mc_server);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       return 0;
-}
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TITLE, g_mc_test_playlist_metadata[0]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ARTIST, g_mc_test_playlist_metadata[1]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_ALBUM, g_mc_test_playlist_metadata[2]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_AUTHOR, g_mc_test_playlist_metadata[3]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_GENRE, g_mc_test_playlist_metadata[4]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DURATION, g_mc_test_playlist_metadata[5]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DATE, g_mc_test_playlist_metadata[6]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_COPYRIGHT, g_mc_test_playlist_metadata[7]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_DESCRIPTION, g_mc_test_playlist_metadata[8]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_TRACK_NUM, g_mc_test_playlist_metadata[9]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_add_item_to_playlist(g_mc_server, playlist, g_mc_test_playlist_idx, MC_META_MEDIA_PICTURE, g_mc_test_playlist_metadata[10]);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-/**
- * @testcase           utc_mc_server_unset_search_cmd_received_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_server_unset_search_cmd_received_cb()
- */
-int utc_mc_server_unset_search_cmd_received_cb_n(void)
-{
-       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_server_update_playlist_done(g_mc_server, playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
-       ret = mc_server_set_search_cmd_received_cb(g_mc_server, _mc_server_search_cmd_received_cb, NULL);
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_unset_search_cmd_received_cb(NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
-
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_create_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_create()
+ * @testcase           utc_mc_server_update_playlist_done_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_server_update_playlist_done()
  */
-int utc_mc_client_create_p(void)
+int utc_mc_server_update_playlist_done_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_destroy(g_mc_client);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       g_mc_client = NULL;
 
-       ret = mc_client_create(&g_mc_client);
+       ret = mc_server_update_playlist_done(g_mc_server, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_create_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_create()
+ * @testcase           utc_mc_server_delete_playlist_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_server_delete_playlist()
  */
-int utc_mc_client_create_n(void)
+int utc_mc_server_delete_playlist_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_destroy(g_mc_client);
+       ret = __mc_register_playlist(&playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       g_mc_client = NULL;
-
-       ret = mc_client_create(NULL);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
-
-       return 0;
-}
-
-
-/**
- * @testcase           utc_mc_client_destroy_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_destroy()
- */
-int utc_mc_client_destroy_p(void)
-{
-       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       ret = mc_server_delete_playlist(g_mc_server, playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_destroy(g_mc_client);
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       g_mc_client = NULL;
 
        return 0;
 }
 
-
 /**
- * @testcase           utc_mc_client_destroy_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_destroy()
+ * @testcase           utc_mc_server_delete_playlist_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_server_delete_playlist()
  */
-int utc_mc_client_destroy_n(void)
+int utc_mc_server_delete_playlist_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_destroy(NULL);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_delete_playlist(g_mc_server, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
+       ret = mc_playlist_destroy(playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_server_updated_cb_p
+ * @testcase           utc_mc_server_foreach_playlist_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_server_updated_cb()
+ * @description                Positive test case of mc_server_foreach_playlist()
  */
-int utc_mc_client_set_server_updated_cb_p(void)
+int utc_mc_server_foreach_playlist_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
+       gboolean cb_result = FALSE;
 
-       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       ret = __mc_register_playlist(&playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_set_server_updated_cb(g_mc_client, _mc_server_state_updated_cb, NULL);
+       ret = mc_server_foreach_playlist(g_mc_server, _mc_server_playlist_list_cb, &cb_result);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_server_destroy(g_mc_server);
-       g_mc_server = NULL;
+       assert_eq(cb_result, TRUE);
+
+       ret = mc_playlist_destroy(playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_server_updated_cb_n
+ * @testcase           utc_mc_server_foreach_playlist_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_server_updated_cb()
+ * @description                Negative test case of mc_server_foreach_playlist()
  */
-int utc_mc_client_set_server_updated_cb_n(void)
+int utc_mc_server_foreach_playlist_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playlist_h playlist = NULL;
 
-       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       ret = mc_server_create_playlist(g_mc_server, g_mc_test_playlist_name, &playlist);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_set_server_updated_cb(NULL, _mc_server_state_updated_cb, NULL);
+       ret = mc_server_foreach_playlist(g_mc_server, 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);
+       ret = mc_playlist_destroy(playlist);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_server_updated_cb_p
+ * @testcase           utc_mc_server_foreach_client_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_server_updated_cb()
+ * @description                Positive test case of mc_server_foreach_client()
  */
-int utc_mc_client_unset_server_updated_cb_p(void)
+int utc_mc_server_foreach_client_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       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;
 }
 
-
 /**
- * @testcase           utc_mc_client_unset_server_updated_cb_n
+ * @testcase           utc_mc_server_foreach_client_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_server_updated_cb()
+ * @description                Negative test case of mc_server_foreach_client()
  */
-int utc_mc_client_unset_server_updated_cb_n(void)
+int utc_mc_server_foreach_client_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_server_updated_cb(NULL);
+       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);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_playback_updated_cb_p
+ * @testcase           utc_mc_server_set_event_reply_received_cb_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_playback_updated_cb()
+ * @description                Positive test case of mc_server_set_event_reply_received_cb()
  */
-int utc_mc_client_set_playback_updated_cb_p(void)
+int utc_mc_server_set_event_reply_received_cb_p(void)
 {
        assert_eq(startup_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);
+       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;
 }
 
-
 /**
- * @testcase           utc_mc_client_set_playback_updated_cb_n
+ * @testcase           utc_mc_server_set_event_reply_received_cb_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_playback_updated_cb()
+ * @description                Negative test case of mc_server_set_event_reply_received_cb()
  */
-int utc_mc_client_set_playback_updated_cb_n(void)
+int utc_mc_server_set_event_reply_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_set_playback_updated_cb(NULL, _mc_playback_updated_cb, NULL);
+       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_client_set_playback_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_server_set_event_reply_received_cb(g_mc_server, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_playback_updated_cb_p
+ * @testcase           utc_mc_server_unset_event_reply_received_cb_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_playback_updated_cb()
+ * @description                Positive test case of mc_server_unset_event_reply_received_cb()
  */
-int utc_mc_client_unset_playback_updated_cb_p(void)
+int utc_mc_server_unset_event_reply_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_playback_updated_cb(g_mc_client);
+       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);
 
        return 0;
 }
 
-
 /**
- * @testcase           utc_mc_client_unset_playback_updated_cb_n
+ * @testcase           utc_mc_server_unset_event_reply_received_cb_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_playback_updated_cb()
+ * @description                Negative test case of mc_server_unset_event_reply_received_cb()
  */
-int utc_mc_client_unset_playback_updated_cb_n(void)
+int utc_mc_server_unset_event_reply_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_playback_updated_cb(NULL);
+       ret = mc_server_unset_event_reply_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_metadata_updated_cb_p
+ * @testcase           utc_mc_server_send_custom_event_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_metadata_updated_cb()
+ * @description                Negative test case of mc_server_send_custom_event()
  */
-int utc_mc_client_set_metadata_updated_cb_p(void)
+int utc_mc_server_send_custom_event_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_set_metadata_updated_cb(g_mc_client, _mc_metadata_updated_cb, NULL);
+       ret = mc_client_set_custom_event_received_cb(g_mc_client, _mc_custom_event_received_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = __mc_register_metadata();
+       ret = mc_server_foreach_client(g_mc_server, _mc_activated_client_cb, &g_mc_client_name);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_neq(g_mc_client_name, NULL);
 
+       ret = mc_server_send_custom_event(g_mc_server, g_mc_client_name, g_mc_test_event, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
        assert_eq(WAIT_CALLBACK_RESULT, TRUE);
 
+       ret = mc_client_unset_custom_event_received_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_metadata_updated_cb_n
+ * @testcase           utc_mc_server_send_custom_event_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_metadata_updated_cb()
+ * @description                Negative test case of mc_server_send_custom_event()
  */
-int utc_mc_client_set_metadata_updated_cb_n(void)
+int utc_mc_server_send_custom_event_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_set_metadata_updated_cb(NULL, _mc_metadata_updated_cb, NULL);
+       ret = mc_server_send_custom_event(NULL, NULL, g_mc_test_event, NULL, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_set_metadata_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_server_send_custom_event(g_mc_server, NULL, g_mc_test_event, NULL, &g_request_id);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_metadata_updated_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_metadata_updated_cb()
+ * @testcase           utc_mc_server_set_search_cmd_received_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_server_set_search_cmd_received_cb()
  */
-int utc_mc_client_unset_metadata_updated_cb_p(void)
+int utc_mc_server_set_search_cmd_received_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_metadata_updated_cb(g_mc_client);
+       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;
 }
 
-
 /**
- * @testcase           utc_mc_client_unset_metadata_updated_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_metadata_updated_cb()
+ * @testcase           utc_mc_server_set_search_cmd_received_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_server_set_search_cmd_received_cb()
  */
-int utc_mc_client_unset_metadata_updated_cb_n(void)
+int utc_mc_server_set_search_cmd_received_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_metadata_updated_cb(NULL);
+       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);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_shuffle_mode_updated_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_shuffle_mode_updated_cb()
+ * @testcase           utc_mc_server_unset_search_cmd_received_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_server_unset_search_cmd_received_cb()
  */
-int utc_mc_client_set_shuffle_mode_updated_cb_p(void)
+int utc_mc_server_unset_search_cmd_received_cb_p(void)
 {
        assert_eq(startup_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);
+       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);
 
        return 0;
 }
 
-
 /**
- * @testcase           utc_mc_client_set_shuffle_mode_updated_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_shuffle_mode_updated_cb()
+ * @testcase           utc_mc_server_unset_search_cmd_received_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_server_unset_search_cmd_received_cb()
  */
-int utc_mc_client_set_shuffle_mode_updated_cb_n(void)
+int utc_mc_server_unset_search_cmd_received_cb_n(void)
 {
        assert_eq(startup_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_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_client_set_shuffle_mode_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_server_unset_search_cmd_received_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_shuffle_mode_updated_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_shuffle_mode_updated_cb()
+ * @testcase           utc_mc_client_create_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_create()
  */
-int utc_mc_client_unset_shuffle_mode_updated_cb_p(void)
+int utc_mc_client_create_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_shuffle_mode_updated_cb(g_mc_client);
+       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);
 
        return 0;
 }
 
-
 /**
- * @testcase           utc_mc_client_unset_shuffle_mode_updated_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_shuffle_mode_updated_cb()
+ * @testcase           utc_mc_client_create_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_create()
  */
-int utc_mc_client_unset_shuffle_mode_updated_cb_n(void)
+int utc_mc_client_create_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_shuffle_mode_updated_cb(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);
 
        return 0;
 }
 
+
 /**
- * @testcase           utc_mc_client_set_repeat_mode_updated_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_repeat_mode_updated_cb()
+ * @testcase           utc_mc_client_destroy_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_destroy()
  */
-int utc_mc_client_set_repeat_mode_updated_cb_p(void)
+int utc_mc_client_destroy_p(void)
 {
        assert_eq(startup_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);
+       ret = mc_client_destroy(g_mc_client);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       g_mc_client = NULL;
 
        return 0;
 }
 
 
 /**
- * @testcase           utc_mc_client_set_repeat_mode_updated_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_repeat_mode_updated_cb()
+ * @testcase           utc_mc_client_destroy_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_destroy()
  */
-int utc_mc_client_set_repeat_mode_updated_cb_n(void)
+int utc_mc_client_destroy_n(void)
 {
        assert_eq(startup_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(g_mc_client, NULL, NULL);
+       ret = mc_client_destroy(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_repeat_mode_updated_cb_p
+ * @testcase           utc_mc_client_set_server_updated_cb_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_repeat_mode_updated_cb()
+ * @description                Positive test case of mc_client_set_server_updated_cb()
  */
-int utc_mc_client_unset_repeat_mode_updated_cb_p(void)
+int utc_mc_client_set_server_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-
-    ret = mc_client_unset_repeat_mode_updated_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    return 0;
-}
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-/**
- * @testcase           utc_mc_client_unset_repeat_mode_updated_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_repeat_mode_updated_cb()
- */
-int utc_mc_client_unset_repeat_mode_updated_cb_n(void)
-{
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_server_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    int 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_unset_repeat_mode_updated_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       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;
 }
 
 /**
- * @testcase           utc_mc_client_set_playback_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_set_playback_ability_updated_cb()
+ * @testcase           utc_mc_client_set_server_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_server_updated_cb()
  */
-int utc_mc_client_set_playback_ability_updated_cb_p(void)
+int utc_mc_client_set_server_updated_cb_n(void)
 {
-    assert_eq(startup_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);
-
-    return 0;
-}
-
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-/**
- * @testcase           utc_mc_client_set_playback_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_set_playback_ability_updated_cb()
- */
-int utc_mc_client_set_playback_ability_updated_cb_n(void)
-{
-    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_set_playback_ability_updated_cb(NULL, _mc_playback_ability_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_playback_ability_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;
 }
 
 /**
- * @testcase           utc_mc_client_unset_playback_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_unset_playback_ability_updated_cb()
+ * @testcase           utc_mc_client_unset_server_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_server_updated_cb()
  */
-int utc_mc_client_unset_playback_ability_updated_cb_p(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_playback_ability_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;
 }
 
 
 /**
- * @testcase           utc_mc_client_unset_playback_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_unset_playback_ability_updated_cb()
+ * @testcase           utc_mc_client_unset_server_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_server_updated_cb()
  */
-int utc_mc_client_unset_playback_ability_updated_cb_n(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_playback_ability_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;
 }
 
 /**
- * @testcase           utc_mc_client_set_shuffle_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_set_shuffle_ability_updated_cb()
+ * @testcase           utc_mc_client_set_playback_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_set_playback_updated_cb()
  */
-int utc_mc_client_set_shuffle_ability_updated_cb_p(void)
+int utc_mc_client_set_playback_updated_cb_p(void)
 {
        assert_eq(startup_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);
+       ret = mc_client_set_playback_updated_cb(g_mc_client, _mc_playback_updated_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
@@ -2835,37 +2994,37 @@ int utc_mc_client_set_shuffle_ability_updated_cb_p(void)
 
 
 /**
- * @testcase           utc_mc_client_set_shuffle_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_set_shuffle_ability_updated_cb()
+ * @testcase           utc_mc_client_set_playback_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_playback_updated_cb()
  */
-int utc_mc_client_set_shuffle_ability_updated_cb_n(void)
+int utc_mc_client_set_playback_updated_cb_n(void)
 {
        assert_eq(startup_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);
+       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_shuffle_ability_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_client_set_playback_updated_cb(g_mc_client, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_shuffle_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_unset_shuffle_ability_updated_cb()
+ * @testcase           utc_mc_client_unset_playback_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_playback_updated_cb()
  */
-int utc_mc_client_unset_shuffle_ability_updated_cb_p(void)
+int utc_mc_client_unset_playback_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_shuffle_ability_updated_cb(g_mc_client);
+       ret = mc_client_unset_playback_updated_cb(g_mc_client);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
@@ -2873,71 +3032,76 @@ int utc_mc_client_unset_shuffle_ability_updated_cb_p(void)
 
 
 /**
- * @testcase           utc_mc_client_unset_shuffle_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_unset_shuffle_ability_updated_cb()
+ * @testcase           utc_mc_client_unset_playback_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_playback_updated_cb()
  */
-int utc_mc_client_unset_shuffle_ability_updated_cb_n(void)
+int utc_mc_client_unset_playback_updated_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_shuffle_ability_updated_cb(NULL);
+       ret = mc_client_unset_playback_updated_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_repeat_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_set_repeat_ability_updated_cb()
+ * @testcase           utc_mc_client_set_metadata_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_set_metadata_updated_cb()
  */
-int utc_mc_client_set_repeat_ability_updated_cb_p(void)
+int utc_mc_client_set_metadata_updated_cb_p(void)
 {
        assert_eq(startup_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);
+       ret = mc_client_set_metadata_updated_cb(g_mc_client, _mc_metadata_updated_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
+       ret = __mc_register_metadata();
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_repeat_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_set_repeat_ability_updated_cb()
+ * @testcase           utc_mc_client_set_metadata_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_metadata_updated_cb()
  */
-int utc_mc_client_set_repeat_ability_updated_cb_n(void)
+int utc_mc_client_set_metadata_updated_cb_n(void)
 {
        assert_eq(startup_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);
+       ret = mc_client_set_metadata_updated_cb(NULL, _mc_metadata_updated_cb, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_set_repeat_ability_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_client_set_metadata_updated_cb(g_mc_client, NULL, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_repeat_ability_updated_cb_p
- * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_unset_repeat_ability_updated_cb()
+ * @testcase           utc_mc_client_unset_metadata_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_metadata_updated_cb()
  */
-int utc_mc_client_unset_repeat_ability_updated_cb_p(void)
+int utc_mc_client_unset_metadata_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_repeat_ability_updated_cb(g_mc_client);
+       ret = mc_client_unset_metadata_updated_cb(g_mc_client);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
@@ -2945,71 +3109,72 @@ int utc_mc_client_unset_repeat_ability_updated_cb_p(void)
 
 
 /**
- * @testcase           utc_mc_client_unset_repeat_ability_updated_cb_n
- * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_unset_repeat_ability_updated_cb()
- */
-int utc_mc_client_unset_repeat_ability_updated_cb_n(void)
+ * @testcase           utc_mc_client_unset_metadata_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_metadata_updated_cb()
+ */
+int utc_mc_client_unset_metadata_updated_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_repeat_ability_updated_cb(NULL);
+       ret = mc_client_unset_metadata_updated_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        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()
+ * @testcase           utc_mc_client_set_shuffle_mode_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_set_shuffle_mode_updated_cb()
  */
-int utc_mc_client_set_ability_support_updated_cb_p(void)
+int utc_mc_client_set_shuffle_mode_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);
+       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;
 }
 
+
 /**
- * @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()
+ * @testcase           utc_mc_client_set_shuffle_mode_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_shuffle_mode_updated_cb()
  */
-int utc_mc_client_set_ability_support_updated_cb_n(void)
+int utc_mc_client_set_shuffle_mode_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);
+       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_ability_support_updated_cb(g_mc_client, NULL, NULL);
+       ret = mc_client_set_shuffle_mode_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()
+ * @testcase           utc_mc_client_unset_shuffle_mode_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_shuffle_mode_updated_cb()
  */
-int utc_mc_client_unset_ability_support_updated_cb_p(void)
+int utc_mc_client_unset_shuffle_mode_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);
+       ret = mc_client_unset_shuffle_mode_updated_cb(g_mc_client);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
@@ -3017,395 +3182,1466 @@ int utc_mc_client_unset_ability_support_updated_cb_p(void)
 
 
 /**
- * @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()
+ * @testcase           utc_mc_client_unset_shuffle_mode_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_shuffle_mode_updated_cb()
  */
-int utc_mc_client_unset_ability_support_updated_cb_n(void)
+int utc_mc_client_unset_shuffle_mode_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);
+       ret = mc_client_unset_shuffle_mode_updated_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_playlist_updated_cb_p
+ * @testcase           utc_mc_client_set_repeat_mode_updated_cb_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_playlist_updated_cb()
+ * @description                Positive test case of mc_client_set_repeat_mode_updated_cb()
  */
-int utc_mc_client_set_playlist_updated_cb_p(void)
+int utc_mc_client_set_repeat_mode_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_set_playlist_updated_cb(g_mc_client, _mc_playlist_updated_cb, NULL);
+       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;
 }
 
+
 /**
- * @testcase           utc_mc_client_set_playlist_updated_cb_n
+ * @testcase           utc_mc_client_set_repeat_mode_updated_cb_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_playlist_updated_cb()
+ * @description                Negative test case of mc_client_set_repeat_mode_updated_cb()
  */
-int utc_mc_client_set_playlist_updated_cb_n(void)
+int utc_mc_client_set_repeat_mode_updated_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_set_playlist_updated_cb(g_mc_client, NULL, NULL);
+       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);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_playlist_updated_cb_p
+ * @testcase           utc_mc_client_unset_repeat_mode_updated_cb_p
  * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_playlist_updated_cb()
+ * @description                Positive test case of mc_client_unset_repeat_mode_updated_cb()
  */
-int utc_mc_client_unset_playlist_updated_cb_p(void)
+int utc_mc_client_unset_repeat_mode_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_playlist_updated_cb(g_mc_client);
+       ret = mc_client_unset_repeat_mode_updated_cb(g_mc_client);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
+
 /**
- * @testcase           utc_mc_client_unset_playlist_updated_cb_n
+ * @testcase           utc_mc_client_unset_repeat_mode_updated_cb_n
  * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_playlist_updated_cb()
+ * @description                Negative test case of mc_client_unset_repeat_mode_updated_cb()
  */
-int utc_mc_client_unset_playlist_updated_cb_n(void)
+int utc_mc_client_unset_repeat_mode_updated_cb_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-       ret = mc_client_unset_playlist_updated_cb(NULL);
+       ret = mc_client_unset_repeat_mode_updated_cb(NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_set_cmd_reply_received_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_set_cmd_reply_received_cb()
+ * @testcase           utc_mc_client_set_playback_ability_updated_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_set_playback_ability_updated_cb()
  */
-int utc_mc_client_set_cmd_reply_received_cb_p(void)
+int utc_mc_client_set_playback_ability_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        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);
-
-       ret = mc_client_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, &g_mc_reply_data);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, &g_mc_custom_data);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-       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_NONE);
-       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
-
-       assert_eq(g_mc_custom_data.result, TRUE);
-       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_server_send_cmd_reply(g_mc_server, g_mc_custom_data.name, g_mc_custom_data.request_id, g_mc_test_reply_result, NULL);
+       ret = mc_client_set_playback_ability_updated_cb(g_mc_client, _mc_playback_ability_updated_cb, 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;
 }
 
 
 /**
- * @testcase           utc_mc_client_set_cmd_reply_received_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_set_cmd_reply_received_cb()
+ * @testcase           utc_mc_client_set_playback_ability_updated_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_set_playback_ability_updated_cb()
  */
-int utc_mc_client_set_cmd_reply_received_cb_n(void)
+int utc_mc_client_set_playback_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_cmd_reply_received_cb(NULL, _mc_cmd_reply_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_playback_ability_updated_cb(NULL, _mc_playback_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_set_cmd_reply_received_cb(g_mc_client, NULL, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_set_playback_ability_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_unset_cmd_reply_received_cb_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_unset_cmd_reply_received_cb()
+ * @testcase           utc_mc_client_unset_playback_ability_updated_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_unset_playback_ability_updated_cb()
  */
-int utc_mc_client_unset_cmd_reply_received_cb_p(void)
+int utc_mc_client_unset_playback_ability_updated_cb_p(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_client_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_unset_cmd_reply_received_cb(g_mc_client);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_playback_ability_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    return 0;
+       return 0;
 }
 
 
 /**
- * @testcase           utc_mc_client_unset_cmd_reply_received_cb_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_unset_cmd_reply_received_cb()
+ * @testcase           utc_mc_client_unset_playback_ability_updated_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_unset_playback_ability_updated_cb()
  */
-int utc_mc_client_unset_cmd_reply_received_cb_n(void)
+int utc_mc_client_unset_playback_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_cmd_reply_received_cb(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_unset_playback_ability_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_playback_state_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_playback_state()
+ * @testcase           utc_mc_client_set_shuffle_ability_updated_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_set_shuffle_ability_updated_cb()
  */
-int utc_mc_client_get_playback_state_p(void)
+int utc_mc_client_set_shuffle_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    mc_playback_states_e playback_state = MC_PLAYBACK_STATE_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);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_playback_state(playback_info, &playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(playback_state, MC_PLAYBACK_STATE_PLAYING);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy_playback(playback_info);
-    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;
 }
 
 
 /**
- * @testcase           utc_mc_client_get_playback_state_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_playback_state()
+ * @testcase           utc_mc_client_set_shuffle_ability_updated_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_set_shuffle_ability_updated_cb()
  */
-int utc_mc_client_get_playback_state_n(void)
+int utc_mc_client_set_shuffle_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    mc_playback_states_e playback_state = MC_PLAYBACK_STATE_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);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_playback_state(NULL, &playback_state);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_get_playback_state(playback_info, 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_destroy_playback(playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       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;
 }
 
 /**
- * @testcase           utc_mc_client_get_playback_position_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_playback_position()
+ * @testcase           utc_mc_client_unset_shuffle_ability_updated_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_unset_shuffle_ability_updated_cb()
  */
-int utc_mc_client_get_playback_position_p(void)
+int utc_mc_client_unset_shuffle_ability_updated_cb_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    unsigned long long playback_position = 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_playback_position(playback_info, &playback_position);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(playback_position, 10000);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy_playback(playback_info);
-    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;
 }
 
 
 /**
- * @testcase           utc_mc_client_get_playback_position_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_playback_position()
+ * @testcase           utc_mc_client_unset_shuffle_ability_updated_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_unset_shuffle_ability_updated_cb()
  */
-int utc_mc_client_get_playback_position_n(void)
+int utc_mc_client_unset_shuffle_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    unsigned long long playback_position = 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    ret = mc_client_get_playback_position(NULL, &playback_position);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_playback_position(playback_info, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
 
-    ret = mc_client_destroy_playback(playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       ret = mc_client_unset_shuffle_ability_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_playback_content_type_p
+ * @testcase           utc_mc_client_set_repeat_ability_updated_cb_p
  * @since_tizen                5.0
- * @description                Positive test case of utc_mc_client_get_playback_content_type()
+ * @description                Positive test case of utc_mc_client_set_repeat_ability_updated_cb()
  */
-int utc_mc_client_get_playback_content_type_p(void)
+int utc_mc_client_set_repeat_ability_updated_cb_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_h playback_info = NULL;
-       mc_content_type_e content_type = MC_CONTENT_TYPE_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_playback_info(g_mc_client, g_mc_server_name, &playback_info);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-       ret = mc_client_get_playback_content_type(playback_info, &content_type);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(content_type, g_mc_test_content_type);
 
-       ret = mc_client_destroy_playback(playback_info);
+       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;
 }
 
 /**
- * @testcase           utc_mc_client_get_playback_content_type_n
+ * @testcase           utc_mc_client_set_repeat_ability_updated_cb_n
  * @since_tizen                5.0
- * @description                Negative test case of utc_mc_client_get_playback_content_type()
+ * @description                Negative test case of utc_mc_client_set_repeat_ability_updated_cb()
  */
-int utc_mc_client_get_playback_content_type_n(void)
+int utc_mc_client_set_repeat_ability_updated_cb_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    mc_content_type_e index = 0;
+       assert_eq(startup_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);
+       int 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_set_repeat_ability_updated_cb(NULL, _mc_repeat_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_playback_content_type(NULL, &index);
-    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;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_repeat_ability_updated_cb_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_unset_repeat_ability_updated_cb()
+ */
+int utc_mc_client_unset_repeat_ability_updated_cb_p(void)
+{
+       assert_eq(startup_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);
+
+       return 0;
+}
+
+
+/**
+ * @testcase           utc_mc_client_unset_repeat_ability_updated_cb_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_unset_repeat_ability_updated_cb()
+ */
+int utc_mc_client_unset_repeat_ability_updated_cb_n(void)
+{
+       assert_eq(startup_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);
+
+       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;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_mode_ability_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_display_mode_ability_updated_cb()
+ */
+int utc_mc_client_set_display_mode_ability_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_ability_updated_cb(g_mc_client, _mc_display_mode_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_mode_ability_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_display_mode_ability_updated_cb()
+ */
+int utc_mc_client_set_display_mode_ability_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_ability_updated_cb(NULL, _mc_display_mode_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_display_mode_ability_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_mode_ability_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_display_mode_ability_updated_cb()
+ */
+int utc_mc_client_unset_display_mode_ability_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_ability_updated_cb(g_mc_client, _mc_display_mode_ability_updated_cb, NULL);
+       assert_eq(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_display_mode_ability_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_display_mode_ability_updated_cb()
+ */
+int utc_mc_client_unset_display_mode_ability_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;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_rotation_ability_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_display_rotation_ability_updated_cb()
+ */
+int utc_mc_client_set_display_rotation_ability_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_ability_updated_cb(g_mc_client, _mc_display_rotation_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_rotation_ability_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_display_rotation_ability_updated_cb()
+ */
+int utc_mc_client_set_display_rotation_ability_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_ability_updated_cb(NULL, _mc_display_rotation_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_display_rotation_ability_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_rotation_ability_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_display_rotation_ability_updated_cb()
+ */
+int utc_mc_client_unset_display_rotation_ability_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_ability_updated_cb(g_mc_client, _mc_display_rotation_ability_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_unset_display_rotation_ability_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_rotation_ability_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_display_rotation_ability_updated_cb()
+ */
+int utc_mc_client_unset_display_rotation_ability_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_display_rotation_ability_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_playlist_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_set_playlist_updated_cb()
+ */
+int utc_mc_client_set_playlist_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_playlist_updated_cb(g_mc_client, _mc_playlist_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_playlist_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_playlist_updated_cb()
+ */
+int utc_mc_client_set_playlist_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_playlist_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_playlist_updated_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_playlist_updated_cb()
+ */
+int utc_mc_client_unset_playlist_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_playlist_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_playlist_updated_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_playlist_updated_cb()
+ */
+int utc_mc_client_unset_playlist_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_playlist_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_cmd_reply_received_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_set_cmd_reply_received_cb()
+ */
+int utc_mc_client_set_cmd_reply_received_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       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);
+
+       ret = mc_client_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, &g_mc_reply_data);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_custom_cmd_received_cb(g_mc_server, _mc_server_custom_cmd_received_cb, &g_mc_custom_data);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       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_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       assert_eq(g_mc_custom_data.result, TRUE);
+       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_server_send_cmd_reply(g_mc_server, 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;
+}
+
+
+/**
+ * @testcase           utc_mc_client_set_cmd_reply_received_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_set_cmd_reply_received_cb()
+ */
+int utc_mc_client_set_cmd_reply_received_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_cmd_reply_received_cb(NULL, _mc_cmd_reply_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_cmd_reply_received_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_cmd_reply_received_cb_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_unset_cmd_reply_received_cb()
+ */
+int utc_mc_client_unset_cmd_reply_received_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_cmd_reply_received_cb(g_mc_client, _mc_cmd_reply_received_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_unset_cmd_reply_received_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase           utc_mc_client_unset_cmd_reply_received_cb_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_unset_cmd_reply_received_cb()
+ */
+int utc_mc_client_unset_cmd_reply_received_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_cmd_reply_received_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_subtitles_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_subtitles_updated_cb()
+ */
+int utc_mc_client_set_subtitles_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_subtitles_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_subtitles_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_subtitles_updated_cb()
+ */
+int utc_mc_client_set_subtitles_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_subtitles_updated_cb(NULL, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_subtitles_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_subtitles_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_subtitles_updated_cb()
+ */
+int utc_mc_client_unset_subtitles_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_subtitles_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_unset_subtitles_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_subtitles_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_subtitles_updated_cb()
+ */
+int utc_mc_client_unset_subtitles_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_subtitles_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_360_mode_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_360_mode_updated_cb()
+ */
+int utc_mc_client_set_360_mode_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_360_mode_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_360_mode_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_360_mode_updated_cb()
+ */
+int utc_mc_client_set_360_mode_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_360_mode_updated_cb(NULL, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_360_mode_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_360_mode_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_360_mode_updated_cb()
+ */
+int utc_mc_client_unset_360_mode_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_360_mode_updated_cb(g_mc_client, _mc_bool_attribute_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_unset_360_mode_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_360_mode_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_360_mode_updated_cb()
+ */
+int utc_mc_client_unset_360_mode_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_360_mode_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_mode_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_display_mode_updated_cb()
+ */
+int utc_mc_client_set_display_mode_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_updated_cb(g_mc_client, _mc_display_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_mode_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_display_mode_updated_cb()
+ */
+int utc_mc_client_set_display_mode_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_mode_updated_cb(NULL, _mc_display_mode_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_display_mode_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_mode_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_display_mode_updated_cb()
+ */
+int utc_mc_client_unset_display_mode_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_display_mode_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_mode_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_display_mode_updated_cb()
+ */
+int utc_mc_client_unset_display_mode_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_display_mode_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_rotation_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_set_display_rotation_updated_cb()
+ */
+int utc_mc_client_set_display_rotation_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_updated_cb(g_mc_client, _mc_display_rotation_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_set_display_rotation_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_set_display_rotation_updated_cb()
+ */
+int utc_mc_client_set_display_rotation_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_set_display_rotation_updated_cb(NULL, _mc_display_rotation_updated_cb, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_set_display_rotation_updated_cb(g_mc_client, NULL, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_rotation_updated_cb_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_unset_display_rotation_updated_cb()
+ */
+int utc_mc_client_unset_display_rotation_updated_cb_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_display_rotation_updated_cb(g_mc_client);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_unset_display_rotation_updated_cb_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_unset_display_rotation_updated_cb()
+ */
+int utc_mc_client_unset_display_rotation_updated_cb_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_unset_display_rotation_updated_cb(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playback_state_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_playback_state()
+ */
+int utc_mc_client_get_playback_state_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_playback_states_e playback_state = MC_PLAYBACK_STATE_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_playback_state(playback_info, &playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(playback_state, MC_PLAYBACK_STATE_PLAYING);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase           utc_mc_client_get_playback_state_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_playback_state()
+ */
+int utc_mc_client_get_playback_state_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_playback_states_e playback_state = MC_PLAYBACK_STATE_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_playback_state(NULL, &playback_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_playback_state(playback_info, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playback_position_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_playback_position()
+ */
+int utc_mc_client_get_playback_position_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       unsigned long long playback_position = 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_playback_position(playback_info, &playback_position);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(playback_position, 10000);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+
+/**
+ * @testcase           utc_mc_client_get_playback_position_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_playback_position()
+ */
+int utc_mc_client_get_playback_position_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       unsigned long long playback_position = 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_playback_position(NULL, &playback_position);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_playback_position(playback_info, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playback_content_type_p
+ * @since_tizen                5.0
+ * @description                Positive test case of utc_mc_client_get_playback_content_type()
+ */
+int utc_mc_client_get_playback_content_type_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_content_type_e content_type = MC_CONTENT_TYPE_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_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_playback_content_type(playback_info, &content_type);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(content_type, g_mc_test_content_type);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playback_content_type_n
+ * @since_tizen                5.0
+ * @description                Negative test case of utc_mc_client_get_playback_content_type()
+ */
+int utc_mc_client_get_playback_content_type_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_content_type_e 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_client_get_playback_content_type(NULL, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_playback_content_type(playback_info, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_age_rating_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_age_rating()
+ */
+int utc_mc_client_get_age_rating_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_content_age_rating_e age_rating = MC_CONTENT_RATING_ALL;
+
+       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_age_rating(playback_info, &age_rating);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(age_rating, g_mc_test_age_rating);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_age_rating_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_age_rating()
+ */
+int utc_mc_client_get_age_rating_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
+       mc_content_age_rating_e age_rating = MC_CONTENT_RATING_ALL;
+
+       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_age_rating(NULL, &age_rating);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_age_rating(playback_info, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playlist_item_index_p
+ * @since_tizen                4.0
+ * @description                Positive test case of mc_client_get_playlist_item_index()
+ */
+int utc_mc_client_get_playlist_item_index_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = 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_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_index(playback_info, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(strcmp(index, g_mc_test_playlist_index), 0);
+
+       if (index != NULL)
+               free(index);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playlist_item_index_n
+ * @since_tizen                4.0
+ * @description                Negative test case of mc_client_get_playlist_item_index()
+ */
+int utc_mc_client_get_playlist_item_index_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = 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_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_index(NULL, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_playlist_item_index(playback_info, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playlist_item_info_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_playlist_item_info()
+ */
+int utc_mc_client_get_playlist_item_info_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       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_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(playback_info, &playlist_name, &index);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(strcmp(playlist_name, g_mc_test_playlist_name), 0);
+       assert_eq(strcmp(index, g_mc_test_playlist_index), 0);
+
+       if (index != NULL)
+               free(index);
+
+       ret = mc_client_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_playlist_item_info_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_playlist_item_info()
+ */
+int utc_mc_client_get_playlist_item_info_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       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_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(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_destroy_playback(playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_destroy_playback_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_destroy_playback()
+ */
+int utc_mc_client_destroy_playback_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = 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_playback_content_type(playback_info, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       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_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;
 }
 
 /**
- * @testcase           utc_mc_client_get_age_rating_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_age_rating()
+ * @testcase           utc_mc_client_destroy_playback_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_destroy_playback()
  */
-int utc_mc_client_get_age_rating_p(void)
+int utc_mc_client_destroy_playback_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_destroy_playback(NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_latest_server_info_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_latest_server_info()
+ */
+int utc_mc_client_get_latest_server_info_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_h playback_info = NULL;
-       mc_content_age_rating_e age_rating = MC_CONTENT_RATING_ALL;
 
        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);
+       assert_neq(g_mc_server_name, NULL);
+       assert_eq(g_mc_server_state, MC_SERVER_STATE_ACTIVATE);
 
-       ret = mc_client_get_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_latest_server_info_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_latest_server_info()
+ */
+int utc_mc_client_get_latest_server_info_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_client_get_latest_server_info(NULL, &g_mc_server_name, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_latest_server_info(g_mc_client, NULL, &g_mc_server_state);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_latest_server_info(g_mc_client, &g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_get_server_playback_info_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_server_playback_info()
+ */
+int utc_mc_client_get_server_playback_info_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = 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_age_rating(playback_info, &age_rating);
+       ret = mc_client_get_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(age_rating, g_mc_test_age_rating);
 
        ret = mc_client_destroy_playback(playback_info);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
@@ -3414,743 +4650,816 @@ int utc_mc_client_get_age_rating_p(void)
 }
 
 /**
- * @testcase           utc_mc_client_get_age_rating_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_age_rating()
+ * @testcase           utc_mc_client_get_server_playback_info_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_server_playback_info()
  */
-int utc_mc_client_get_age_rating_n(void)
+int utc_mc_client_get_server_playback_info_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    mc_content_age_rating_e age_rating = MC_CONTENT_RATING_ALL;
+       assert_eq(startup_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);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_playback_h playback_info = NULL;
 
-    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_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_age_rating(NULL, &age_rating);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_playback_info(NULL, g_mc_server_name, &playback_info);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_age_rating(playback_info, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_playback_info(g_mc_client, NULL, &playback_info);
+       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_get_server_playback_info(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_playlist_item_index_p
- * @since_tizen                4.0
- * @description                Positive test case of mc_client_get_playlist_item_index()
+ * @testcase           utc_mc_client_get_server_metadata_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_server_metadata()
  */
-int utc_mc_client_get_playlist_item_index_p(void)
+int utc_mc_client_get_server_metadata_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_h playback_info = NULL;
-       char * index = 0;
+       mc_metadata_h metadata = 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_server_playback_info(g_mc_client, g_mc_server_name, &playback_info);
+       ret = __mc_register_metadata();
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_get_playlist_item_index(playback_info, &index);
+       ret = mc_client_get_server_metadata(g_mc_client, g_mc_server_name, &metadata);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(strcmp(index, g_mc_test_playlist_index), 0);
 
-       if (index != NULL)
-               free(index);
+       ret = __mc_verify_metadata(metadata);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_destroy_playback(playback_info);
+       ret = mc_metadata_destroy(metadata);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_playlist_item_index_n
- * @since_tizen                4.0
- * @description                Negative test case of mc_client_get_playlist_item_index()
+ * @testcase           utc_mc_client_get_server_metadata_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_server_metadata()
  */
-int utc_mc_client_get_playlist_item_index_n(void)
+int utc_mc_client_get_server_metadata_n(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
-
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_playback_h playback_info = NULL;
-    char * index = 0;
+       assert_eq(startup_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);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_metadata_h metadata = NULL;
 
-    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_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_playlist_item_index(NULL, &index);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_metadata(NULL, g_mc_server_name, &metadata);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_playlist_item_index(playback_info, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_metadata(g_mc_client, NULL, &metadata);
+       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_get_server_metadata(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_playlist_item_info_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_playlist_item_info()
+ * @testcase           utc_mc_client_get_server_shuffle_mode_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_server_shuffle_mode()
  */
-int utc_mc_client_get_playlist_item_info_p(void)
+int utc_mc_client_get_server_shuffle_mode_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_h playback_info = NULL;
-       char *playlist_name = NULL;
-       char *index = 0;
+       mc_shuffle_mode_e shuffle_mode = MC_SHUFFLE_MODE_ON;
 
        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);
+       ret = mc_client_get_server_shuffle_mode(g_mc_client, g_mc_server_name, &shuffle_mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(shuffle_mode, MC_SHUFFLE_MODE_ON);
 
-       ret = mc_client_get_playlist_item_info(playback_info, &playlist_name, &index);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(strcmp(playlist_name, g_mc_test_playlist_name), 0);
-       assert_eq(strcmp(index, g_mc_test_playlist_index), 0);
+       return 0;
+}
 
-       if (index != NULL)
-               free(index);
+/**
+ * @testcase           utc_mc_client_get_server_shuffle_mode_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_server_shuffle_mode()
+ */
+int utc_mc_client_get_server_shuffle_mode_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = mc_client_destroy_playback(playback_info);
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_shuffle_mode_e shuffle_mode = MC_SHUFFLE_MODE_ON;
+
+       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_mode(NULL, g_mc_server_name, &shuffle_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_server_shuffle_mode(g_mc_client, NULL, &shuffle_mode);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_get_server_shuffle_mode(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_playlist_item_info_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_playlist_item_info()
+ * @testcase           utc_mc_client_get_server_repeat_mode_p
+ * @since_tizen                2.4
+ * @description                Positive test case of mc_client_get_server_repeat_mode()
  */
-int utc_mc_client_get_playlist_item_info_n(void)
+int utc_mc_client_get_server_repeat_mode_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_h playback_info = NULL;
-       char *playlist_name = NULL;
-       char *index = 0;
+       mc_repeat_mode_e repeat_mode = MC_REPEAT_MODE_ON;
 
        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);
+       ret = mc_client_get_server_repeat_mode(g_mc_client, g_mc_server_name, &repeat_mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(repeat_mode, MC_REPEAT_MODE_ON);
 
-       ret = mc_client_get_playlist_item_info(NULL, &playlist_name, &index);
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       return 0;
+}
 
-       ret = mc_client_get_playlist_item_info(playback_info, NULL, &index);
+/**
+ * @testcase           utc_mc_client_get_server_repeat_mode_n
+ * @since_tizen                2.4
+ * @description                Negative test case of mc_client_get_server_repeat_mode()
+ */
+int utc_mc_client_get_server_repeat_mode_n(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       mc_repeat_mode_e repeat_mode = MC_REPEAT_MODE_ON;
+
+       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_mode(NULL, g_mc_server_name, &repeat_mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_playlist_item_info(playback_info, &playlist_name, NULL);
+       ret = mc_client_get_server_repeat_mode(g_mc_client, NULL, &repeat_mode);
        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_get_server_repeat_mode(g_mc_client, g_mc_server_name, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_destroy_playback_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_destroy_playback()
+ * @testcase           utc_mc_client_get_server_icon_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_server_icon()
  */
-int utc_mc_client_destroy_playback_p(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;
-    mc_playback_h playback_info = 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_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_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_destroy_playback(playback_info);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       if (icon_path)
+               free(icon_path);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_destroy_playback_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_destroy_playback()
+ * @testcase           utc_mc_client_get_server_icon_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_server_icon()
  */
-int utc_mc_client_destroy_playback_n(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;
+
+       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_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);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       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_destroy_playback(NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       if (icon_path)
+               free(icon_path);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_latest_server_info_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_latest_server_info()
+ * @testcase           utc_mc_client_get_server_playback_ability_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_server_playback_ability()
  */
-int utc_mc_client_get_latest_server_info_p(void)
+int utc_mc_client_get_server_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;
+       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);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       ret = mc_client_get_server_playback_ability(g_mc_client, g_mc_server_name, &ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_neq(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);
-    assert_neq(g_mc_server_name, NULL);
-    assert_eq(g_mc_server_state, MC_SERVER_STATE_ACTIVATE);
+       mc_playback_ability_destroy(ability);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_latest_server_info_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_latest_server_info()
+ * @testcase           utc_mc_client_get_server_playback_ability_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_server_playback_ability()
  */
-int utc_mc_client_get_latest_server_info_n(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;
+       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(NULL, &g_mc_server_name, &g_mc_server_state);
-    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_latest_server_info(g_mc_client, NULL, &g_mc_server_state);
-    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_latest_server_info(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;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_playback_info_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_server_playback_info()
+ * @testcase           utc_mc_client_get_server_shuffle_ability_support_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_server_shuffle_ability_support()
  */
-int utc_mc_client_get_server_playback_info_p(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_playback_h playback_info = NULL;
+       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_playback_info(g_mc_client, g_mc_server_name, &playback_info);
-    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_destroy_playback(playback_info);
-    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);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_playback_info_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_server_playback_info()
+ * @testcase           utc_mc_client_get_server_shuffle_ability_support_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_server_shuffle_ability_support()
  */
-int utc_mc_client_get_server_playback_info_n(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_playback_h playback_info = NULL;
+       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_playback_info(NULL, g_mc_server_name, &playback_info);
-    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_playback_info(g_mc_client, NULL, &playback_info);
-    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_playback_info(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;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_metadata_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_server_metadata()
+ * @testcase           utc_mc_client_get_server_repeat_ability_support_p
+ * @since_tizen                5.0
+ * @description                Positive test case of mc_client_get_server_repeat_ability_support()
  */
-int utc_mc_client_get_server_metadata_p(void)
+int utc_mc_client_get_server_repeat_ability_support_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_metadata_h metadata = 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_register_metadata();
-       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       mc_ability_support_e supported = MC_ABILITY_SUPPORTED_UNDECIDED;
 
-       ret = mc_client_get_server_metadata(g_mc_client, g_mc_server_name, &metadata);
+       ret = __mc_server_set_ability(g_mc_test_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-       ret = __mc_verify_metadata(metadata);
+       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_metadata_destroy(metadata);
+       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;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_metadata_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_server_metadata()
+ * @testcase           utc_mc_client_get_server_repeat_ability_support_n
+ * @since_tizen                5.0
+ * @description                Negative test case of mc_client_get_server_repeat_ability_support()
  */
-int utc_mc_client_get_server_metadata_n(void)
+int utc_mc_client_get_server_repeat_ability_support_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_metadata_h metadata = NULL;
+       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_metadata(NULL, g_mc_server_name, &metadata);
+       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_metadata(g_mc_client, NULL, &metadata);
+       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_metadata(g_mc_client, g_mc_server_name, NULL);
+       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;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_shuffle_mode_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_server_shuffle_mode()
+ * @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_shuffle_mode_p(void)
+int utc_mc_client_get_server_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;
+
+       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);
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_shuffle_mode_e shuffle_mode = MC_SHUFFLE_MODE_ON;
+       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_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_CLIENT_CUSTOM, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(supported, g_mc_test_ability);
 
-    ret = mc_client_get_server_shuffle_mode(g_mc_client, g_mc_server_name, &shuffle_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(shuffle_mode, MC_SHUFFLE_MODE_ON);
+       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;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_shuffle_mode_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_server_shuffle_mode()
+ * @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_shuffle_mode_n(void)
+int utc_mc_client_get_server_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_shuffle_mode_e shuffle_mode = MC_SHUFFLE_MODE_ON;
+       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_ability_support(NULL, g_mc_server_name, MC_ABILITY_SHUFFLE, &supported);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_shuffle_mode(NULL, g_mc_server_name, &shuffle_mode);
-    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_shuffle_mode(g_mc_client, NULL, &shuffle_mode);
-    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_shuffle_mode(g_mc_client, g_mc_server_name, 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;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_repeat_mode_p
- * @since_tizen                2.4
- * @description                Positive test case of mc_client_get_server_repeat_mode()
+ * @testcase           utc_mc_client_get_server_subtitles_enabled_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_subtitles_enabled()
  */
-int utc_mc_client_get_server_repeat_mode_p(void)
+int utc_mc_client_get_server_subtitles_enabled_p(void)
 {
-    assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       bool b_value = 0;
 
-    int ret = MEDIA_CONTROLLER_ERROR_NONE;
-    mc_repeat_mode_e repeat_mode = MC_REPEAT_MODE_ON;
+       ret = mc_server_update_subtitles_enabled(g_mc_server, false);
+       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_subtitles_enabled(g_mc_client, g_mc_server_name, &b_value);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
 
-    ret = mc_client_get_server_repeat_mode(g_mc_client, g_mc_server_name, &repeat_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-    assert_eq(repeat_mode, MC_REPEAT_MODE_ON);
+       assert_eq(b_value, false);
 
-    return 0;
+       return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_repeat_mode_n
- * @since_tizen                2.4
- * @description                Negative test case of mc_client_get_server_repeat_mode()
+ * @testcase           utc_mc_client_get_server_subtitles_enabled_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_subtitles_enabled()
  */
-int utc_mc_client_get_server_repeat_mode_n(void)
+int utc_mc_client_get_server_subtitles_enabled_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_repeat_mode_e repeat_mode = MC_REPEAT_MODE_ON;
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+       bool b_value = 0;
+
+       ret = mc_server_update_subtitles_enabled(g_mc_server, false);
+       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_repeat_mode(NULL, g_mc_server_name, &repeat_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_subtitles_enabled(NULL, g_mc_server_name, &b_value);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_repeat_mode(g_mc_client, NULL, &repeat_mode);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_subtitles_enabled(g_mc_client, NULL, &b_value);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-    ret = mc_client_get_server_repeat_mode(g_mc_client, g_mc_server_name, NULL);
-    assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+       ret = mc_client_get_server_subtitles_enabled(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_icon_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_server_icon()
+ * @testcase           utc_mc_client_get_server_360_mode_enabled_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_360_mode_enabled()
  */
-int utc_mc_client_get_server_icon_p(void)
+int utc_mc_client_get_server_360_mode_enabled_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       char *icon_path = NULL;
+       bool b_value = 0;
 
-       ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
+       ret = mc_server_update_360_mode_enabled(g_mc_server, false);
        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);
+       ret = mc_client_get_server_360_mode_enabled(g_mc_client, g_mc_server_name, &b_value);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(strcmp(icon_path, g_mc_test_icon_path), 0);
 
-       if (icon_path)
-               free(icon_path);
+       assert_eq(b_value, false);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_icon_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_server_icon()
+ * @testcase           utc_mc_client_get_server_360_mode_enabled_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_360_mode_enabled()
  */
-int utc_mc_client_get_server_icon_n(void)
+int utc_mc_client_get_server_360_mode_enabled_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       char *icon_path = NULL;
+       bool b_value = 0;
 
-       ret = mc_server_set_icon(g_mc_server, g_mc_test_icon_path);
+       ret = mc_server_update_360_mode_enabled(g_mc_server, false);
        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);
+       ret = mc_client_get_server_360_mode_enabled(NULL, g_mc_server_name, &b_value);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_icon(g_mc_client, NULL, &icon_path);
+       ret = mc_client_get_server_360_mode_enabled(g_mc_client, NULL, &b_value);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_icon(g_mc_client, g_mc_server_name, NULL);
+       ret = mc_client_get_server_360_mode_enabled(g_mc_client, g_mc_server_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       if (icon_path)
-               free(icon_path);
-
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_playback_ability_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_server_playback_ability()
+ * @testcase           utc_mc_client_get_server_display_mode_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_display_mode()
  */
-int utc_mc_client_get_server_playback_ability_p(void)
+int utc_mc_client_get_server_display_mode_p(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_ability_h ability = NULL;
+       mc_display_mode_e mode = 0;
+
+       ret = mc_server_update_display_mode(g_mc_server, MC_DISPLAY_MODE_FULL_SCREEN);
+       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(g_mc_client, g_mc_server_name, &ability);
+       ret = mc_client_get_server_display_mode(g_mc_client, g_mc_server_name, &mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_neq(ability, NULL);
 
-       mc_playback_ability_destroy(ability);
+       assert_eq(mode, MC_DISPLAY_MODE_FULL_SCREEN);
 
        return 0;
 }
 
-/**
- * @testcase           utc_mc_client_get_server_playback_ability_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_server_playback_ability()
+/**
+ * @testcase           utc_mc_client_get_server_display_mode_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_display_mode()
  */
-int utc_mc_client_get_server_playback_ability_n(void)
+int utc_mc_client_get_server_display_mode_n(void)
 {
        assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
 
        int ret = MEDIA_CONTROLLER_ERROR_NONE;
-       mc_playback_ability_h ability = NULL;
+       mc_display_mode_e mode = 0;
+
+       ret = mc_server_update_display_mode(g_mc_server, MC_DISPLAY_MODE_FULL_SCREEN);
+       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);
+       ret = mc_client_get_server_display_mode(NULL, g_mc_server_name, &mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_playback_ability(g_mc_client, NULL, &ability);
+       ret = mc_client_get_server_display_mode(g_mc_client, NULL, &mode);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_playback_ability(g_mc_client, g_mc_server_name, NULL);
+       ret = mc_client_get_server_display_mode(g_mc_client, g_mc_server_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_shuffle_ability_support_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_server_shuffle_ability_support()
+ * @testcase           utc_mc_client_get_server_display_rotation_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_display_rotation()
  */
-int utc_mc_client_get_server_shuffle_ability_support_p(void)
+int utc_mc_client_get_server_display_rotation_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;
+       mc_display_rotation_e rotation = 0;
 
-       ret = __mc_server_set_ability(g_mc_test_ability);
+       ret = mc_server_update_display_rotation(g_mc_server, MC_DISPLAY_ROTATION_270);
        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(g_mc_client, g_mc_server_name, &supported);
+       ret = mc_client_get_server_display_rotation(g_mc_client, g_mc_server_name, &rotation);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(supported, g_mc_test_ability);
+
+       assert_eq(rotation, MC_DISPLAY_ROTATION_270);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_shuffle_ability_support_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_server_shuffle_ability_support()
+ * @testcase           utc_mc_client_get_server_display_rotation_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_display_rotation()
  */
-int utc_mc_client_get_server_shuffle_ability_support_n(void)
+int utc_mc_client_get_server_display_rotation_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;
+       mc_display_rotation_e rotation = 0;
+
+       ret = mc_server_update_display_rotation(g_mc_server, MC_DISPLAY_ROTATION_270);
+       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);
+       ret = mc_client_get_server_display_rotation(NULL, g_mc_server_name, &rotation);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_shuffle_ability_support(g_mc_client, NULL, &supported);
+       ret = mc_client_get_server_display_rotation(g_mc_client, NULL, &rotation);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_shuffle_ability_support(g_mc_client, g_mc_server_name, NULL);
+       ret = mc_client_get_server_display_rotation(g_mc_client, g_mc_server_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_repeat_ability_support_p
- * @since_tizen                5.0
- * @description                Positive test case of mc_client_get_server_repeat_ability_support()
+ * @testcase           utc_mc_client_get_server_display_mode_ability_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_get_server_display_mode_ability()
  */
-int utc_mc_client_get_server_repeat_ability_support_p(void)
+int utc_mc_client_get_server_display_mode_ability_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;
+       unsigned int display_ability = 0;
 
-       ret = __mc_server_set_ability(g_mc_test_ability);
+       ret = mc_server_set_display_mode_ability(g_mc_server,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, 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_repeat_ability_support(g_mc_client, g_mc_server_name, &supported);
+       ret = mc_client_get_server_display_mode_ability(g_mc_client, g_mc_server_name, &display_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
-       assert_eq(supported, g_mc_test_ability);
+
+       ret = _mc_get_display_mode_ability(display_ability);
+       assert_eq(ret, TRUE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_repeat_ability_support_n
- * @since_tizen                5.0
- * @description                Negative test case of mc_client_get_server_repeat_ability_support()
+ * @testcase           utc_mc_client_get_server_display_mode_ability_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_get_server_display_mode_ability()
  */
-int utc_mc_client_get_server_repeat_ability_support_n(void)
+int utc_mc_client_get_server_display_mode_ability_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;
+       unsigned int display_ability = 0;
+
+       ret = mc_server_set_display_mode_ability(g_mc_server,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, 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_repeat_ability_support(NULL, g_mc_server_name, &supported);
+       ret = mc_client_get_server_display_mode_ability(NULL, g_mc_server_name, &display_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_repeat_ability_support(g_mc_client, NULL, &supported);
+       ret = mc_client_get_server_display_mode_ability(g_mc_client, NULL, &display_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_repeat_ability_support(g_mc_client, g_mc_server_name, NULL);
+       ret = mc_client_get_server_display_mode_ability(g_mc_client, g_mc_server_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_ability_support_p
+ * @testcase           utc_mc_client_get_server_display_rotation_ability_p
  * @since_tizen                5.5
- * @description                Positive test case of mc_client_get_server_ability_support()
+ * @description                Positive test case of mc_client_get_server_display_rotation_ability()
  */
-int utc_mc_client_get_server_ability_support_p(void)
+int utc_mc_client_get_server_display_rotation_ability_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;
+       unsigned int display_ability = 0;
 
-       ret = __mc_server_set_ability(g_mc_test_ability);
+       ret = mc_server_set_display_rotation_ability(g_mc_server,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, 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);
+       ret = mc_client_get_server_display_rotation_ability(g_mc_client, g_mc_server_name, &display_ability);
        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);
+       ret = _mc_get_display_rotation_ability(display_ability);
+       assert_eq(ret, TRUE);
 
        return 0;
 }
 
 /**
- * @testcase           utc_mc_client_get_server_ability_support_n
+ * @testcase           utc_mc_client_get_server_display_rotation_ability_n
  * @since_tizen                5.5
- * @description                Negative test case of mc_client_get_server_ability_support()
+ * @description                Negative test case of mc_client_get_server_display_rotation_ability()
  */
-int utc_mc_client_get_server_ability_support_n(void)
+int utc_mc_client_get_server_display_rotation_ability_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;
+       unsigned int display_ability = 0;
+
+       ret = mc_server_set_display_rotation_ability(g_mc_server,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, 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(NULL, g_mc_server_name, MC_ABILITY_SHUFFLE, &supported);
+       ret = mc_client_get_server_display_rotation_ability(NULL, g_mc_server_name, &display_ability);
        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);
+       ret = mc_client_get_server_display_rotation_ability(g_mc_client, NULL, &display_ability);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
-       ret = mc_client_get_server_ability_support(g_mc_client, g_mc_server_name, -1, NULL);
+       ret = mc_client_get_server_display_rotation_ability(g_mc_client, g_mc_server_name, NULL);
        assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
 
        return 0;
@@ -4613,6 +5922,230 @@ int utc_mc_client_send_search_cmd_n(void)
        return 0;
 }
 
+/**
+ * @testcase           utc_mc_client_send_subtitles_cmd_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_send_subtitles_cmd()
+ */
+int utc_mc_client_send_subtitles_cmd_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_SUBTITLES, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_subtitles_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
+       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_subtitles_cmd(g_mc_client, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_subtitles_cmd_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_send_subtitles_cmd()
+ */
+int utc_mc_client_send_subtitles_cmd_n(void)
+{
+       assert_eq(startup_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_send_subtitles_cmd(NULL, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_subtitles_cmd(g_mc_client, NULL, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       //default is MC_ABILITY_SUPPORTED_NO
+       ret = mc_client_send_subtitles_cmd(g_mc_client, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_360_mode_cmd_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_send_360_mode_cmd()
+ */
+int utc_mc_client_send_360_mode_cmd_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_ability_support(g_mc_server, MC_ABILITY_360_MODE, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_360_mode_cmd_received_cb(g_mc_server, _mc_server_enable_cmd_received_cb, NULL);
+       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_360_mode_cmd(g_mc_client, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_360_mode_cmd_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_send_360_mode_cmd()
+ */
+int utc_mc_client_send_360_mode_cmd_n(void)
+{
+       assert_eq(startup_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_send_360_mode_cmd(NULL, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_360_mode_cmd(g_mc_client, NULL, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       //default is MC_ABILITY_SUPPORTED_NO
+       ret = mc_client_send_360_mode_cmd(g_mc_client, g_mc_server_name, true, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_display_mode_cmd_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_send_display_mode_cmd()
+ */
+int utc_mc_client_send_display_mode_cmd_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_display_mode_ability(g_mc_server,
+               MC_DISPLAY_MODE_LETTER_BOX | MC_DISPLAY_MODE_ORIGIN_SIZE | MC_DISPLAY_MODE_FULL_SCREEN | MC_DISPLAY_MODE_CROPPED_FULL, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_display_mode_cmd_received_cb(g_mc_server, _display_mode_cmd_received_cb, NULL);
+       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_display_mode_cmd(g_mc_client, g_mc_server_name, MC_DISPLAY_MODE_FULL_SCREEN, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_display_mode_cmd_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_send_display_mode_cmd()
+ */
+int utc_mc_client_send_display_mode_cmd_n(void)
+{
+       assert_eq(startup_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_send_display_mode_cmd(NULL, g_mc_server_name, MC_DISPLAY_MODE_FULL_SCREEN, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_display_mode_cmd(g_mc_client, NULL, MC_DISPLAY_MODE_FULL_SCREEN, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_display_mode_cmd(g_mc_client, g_mc_server_name, -1, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       //default is MC_ABILITY_SUPPORTED_NO
+       ret = mc_client_send_display_mode_cmd(g_mc_client, g_mc_server_name, MC_DISPLAY_MODE_FULL_SCREEN, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_display_rotation_cmd_p
+ * @since_tizen                5.5
+ * @description                Positive test case of mc_client_send_display_rotation_cmd()
+ */
+int utc_mc_client_send_display_rotation_cmd_p(void)
+{
+       assert_eq(startup_ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       int ret = MEDIA_CONTROLLER_ERROR_NONE;
+
+       ret = mc_server_set_display_rotation_ability(g_mc_server,
+               MC_DISPLAY_ROTATION_NONE | MC_DISPLAY_ROTATION_90 | MC_DISPLAY_ROTATION_180 | MC_DISPLAY_ROTATION_270, g_mc_test_ability);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+
+       ret = mc_server_set_display_rotation_cmd_received_cb(g_mc_server, _display_rotation_cmd_received_cb, NULL);
+       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_display_rotation_cmd(g_mc_client, g_mc_server_name, MC_DISPLAY_ROTATION_270, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_NONE);
+       assert_eq(WAIT_CALLBACK_RESULT, TRUE);
+
+       return 0;
+}
+
+/**
+ * @testcase           utc_mc_client_send_display_rotation_cmd_n
+ * @since_tizen                5.5
+ * @description                Negative test case of mc_client_send_display_rotation_cmd()
+ */
+int utc_mc_client_send_display_rotation_cmd_n(void)
+{
+       assert_eq(startup_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_send_display_rotation_cmd(NULL, g_mc_server_name, MC_DISPLAY_ROTATION_270, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_display_rotation_cmd(g_mc_client, NULL, MC_DISPLAY_ROTATION_270, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       ret = mc_client_send_display_rotation_cmd(g_mc_client, g_mc_server_name, -1, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_INVALID_PARAMETER);
+
+       //default is MC_ABILITY_SUPPORTED_NO
+       ret = mc_client_send_display_rotation_cmd(g_mc_client, g_mc_server_name, MC_DISPLAY_ROTATION_270, NULL);
+       assert_eq(ret, MEDIA_CONTROLLER_ERROR_ABILITY_LIMITED_BY_SERVER_APP);
+
+       return 0;
+}
+
 /**
  * @testcase           utc_mc_client_subscribe_p
  * @since_tizen                2.4