From: Hyunil Date: Thu, 26 Sep 2019 08:06:45 +0000 (+0900) Subject: Add test case for videotestsrc and videosink X-Git-Tag: submit/tizen/20191008.094502~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0eaa4c7b5b82c696c93fcb08e1ea3b64eaf994d9;p=platform%2Fcore%2Fapi%2Fmediastreamer.git Add test case for videotestsrc and videosink Change-Id: I131b0a0befdfbe166bf63f34db821af3eece191e Signed-off-by: Hyunil --- diff --git a/test/media_streamer_test.c b/test/media_streamer_test.c index bdd8b98..ae386bb 100644 --- a/test/media_streamer_test.c +++ b/test/media_streamer_test.c @@ -37,6 +37,7 @@ typedef enum { MENU_STATE_VOIP_MENU, MENU_STATE_AUTOPLUG_PLAYING_MENU, MENU_STATE_STATIC_LINK_PLAYING_MENU, + MENU_STATE_VIDEO_TEST_MENU, MENU_STATE_PRESET_MENU, MENU_STATE_ADAPTIVE_MENU, } menu_state_e; @@ -51,6 +52,7 @@ typedef enum { SUBMENU_STATE_SCENARIO, SUBMENU_STATE_AUTOPLUG_PLAYING_SCENARIO, SUBMENU_STATE_STATIC_LINK_PLAYING_SCENARIO, + SUBMENU_STATE_VIDEO_TEST_SCENARIO, SUBMENU_STATE_FORMAT, SUBMENU_STATE_ADAPTIVE_SCENARIO, } submenu_state_e; @@ -88,7 +90,8 @@ typedef enum { SCENARIO_MODE_ADAPTIVE_CLIENT_AUTO, SCENARIO_MODE_ADAPTIVE_CLIENT_MANUAL, SCENARIO_MODE_FILE_PLAY_AAC_AUDIO, - SCENARIO_MODE_FILE_PLAY_MP3_AUDIO + SCENARIO_MODE_FILE_PLAY_MP3_AUDIO, + SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK } scenario_mode_e; #define PACKAGE "media_streamer_test" @@ -512,6 +515,23 @@ static void _create_static_audio_mp3_playing(void) media_streamer_node_link(audio_decoder, "src", audiosink, "sink"); } +static void _create_videotestsrc_videosink(void) +{ + media_streamer_node_h videotestsrc = NULL; + media_streamer_node_create_src(MEDIA_STREAMER_NODE_SRC_TYPE_VIDEO_TEST, &videotestsrc); + media_streamer_node_add(current_media_streamer, videotestsrc); + APPEND_NODE(videotestsrc); + + media_streamer_node_h video_sink = NULL; + media_streamer_node_create_sink(MEDIA_STREAMER_NODE_SINK_TYPE_OVERLAY, &video_sink); + media_streamer_node_add(current_media_streamer, video_sink); + media_streamer_node_set_param(video_sink, MEDIA_STREAMER_PARAM_DISPLAY, (void*)ad.win); + media_streamer_node_set_param(video_sink, MEDIA_STREAMER_PARAM_DISPLAY_GEOMETRY_METHOD, "1"); + APPEND_NODE(video_sink); + + media_streamer_node_link(videotestsrc, "src", video_sink, "sink"); +} + static void _create_file_sub_playing(void) { media_streamer_node_h file_sub_src = NULL; @@ -1156,6 +1176,21 @@ static void display_adaptive_scenario_select_menu(void) g_print("====================================================\n"); } +static void display_video_test_scenario_select_menu(void) +{ + g_print("\n"); + g_print("====================================================\n"); + g_print(" media streamer test: Video test menu v0.3\n"); + g_print("----------------------------------------------------\n"); + g_print("\n"); + g_print("Please select Videotest Scenario mode\n"); + g_print("By default will be used [%d] mode\n", g_scenario_mode); + g_print("1. Videotestsrc -> Videosink\n"); + g_print("b. back \n"); + g_print("----------------------------------------------------\n"); + g_print("====================================================\n"); +} + static void display_preset_menu(void) { g_print("\n"); @@ -1217,6 +1252,7 @@ static void display_main_menu(void) g_print("3. Local Playing (link: Autoplug) \n"); g_print("4. Local Playing (link: static) \n"); g_print("5. Adaptive \n"); + g_print("6. Video test \n"); g_print("q. quit \n"); g_print("----------------------------------------------------\n"); g_print("====================================================\n"); @@ -1239,6 +1275,7 @@ static void display_menu(void) case MENU_STATE_STATIC_LINK_PLAYING_MENU: case MENU_STATE_PRESET_MENU: case MENU_STATE_ADAPTIVE_MENU: + case MENU_STATE_VIDEO_TEST_MENU: display_preset_menu(); break; default: @@ -1274,6 +1311,9 @@ static void display_menu(void) case SUBMENU_STATE_ADAPTIVE_SCENARIO: display_adaptive_scenario_select_menu(); break; + case SUBMENU_STATE_VIDEO_TEST_SCENARIO: + display_video_test_scenario_select_menu(); + break; default: g_print("*** Unknown Submenu state.\n"); break; @@ -1343,6 +1383,14 @@ static void run_preset(void) } } +void run_video_test_preset(void) +{ + if ((g_scenario_mode == SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK)) + _create_videotestsrc_videosink(); + else + g_print("Invalid playing menu preset was selected!"); +} + void run_playing_preset(void) { create_formats(); @@ -1396,6 +1444,8 @@ void _interpret_main_menu(char *cmd) g_menu_state = MENU_STATE_STATIC_LINK_PLAYING_MENU; else if (!strncmp(cmd, "5", len)) g_menu_state = MENU_STATE_ADAPTIVE_MENU; + else if (!strncmp(cmd, "6", len)) + g_menu_state = MENU_STATE_VIDEO_TEST_MENU; else if (!strncmp(cmd, "q", len)) quit(); } else { @@ -1532,6 +1582,20 @@ void _interpret_static_link_playing_scenario_menu(char *cmd) g_sub_menu_state = SUBMENU_STATE_UNKNOWN; } +void _interpret_video_test_scenario_menu(char *cmd) +{ + int len = strlen(cmd); + + if (len == 1) { + if (!strncmp(cmd, "1", len)) { + g_scenario_mode = SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK; + g_printf("g_sub_menu_state (%d)\n", g_sub_menu_state); + } + } + run_video_test_preset(); + g_sub_menu_state = SUBMENU_STATE_UNKNOWN; +} + void _interpret_scenario_menu(char *cmd) { int len = strlen(cmd); @@ -1726,6 +1790,8 @@ void _interpret_preset_menu(char *cmd) g_sub_menu_state = SUBMENU_STATE_STATIC_LINK_PLAYING_SCENARIO; else if (g_menu_state == MENU_STATE_ADAPTIVE_MENU) g_sub_menu_state = SUBMENU_STATE_ADAPTIVE_SCENARIO; + else if (g_menu_state == MENU_STATE_VIDEO_TEST_MENU) + g_sub_menu_state = SUBMENU_STATE_VIDEO_TEST_SCENARIO; else g_sub_menu_state = SUBMENU_STATE_AUTOPLUG; } else if (!strncmp(cmd, "3", len)) { @@ -1774,6 +1840,7 @@ static void interpret_cmd(char *cmd) break; case MENU_STATE_AUTOPLUG_PLAYING_MENU: case MENU_STATE_STATIC_LINK_PLAYING_MENU: + case MENU_STATE_VIDEO_TEST_MENU: case MENU_STATE_PRESET_MENU: case MENU_STATE_ADAPTIVE_MENU: _interpret_preset_menu(cmd); @@ -1812,6 +1879,9 @@ static void interpret_cmd(char *cmd) case SUBMENU_STATE_ADAPTIVE_SCENARIO: _interpret_adaptive_scenario_menu(cmd); break; + case SUBMENU_STATE_VIDEO_TEST_SCENARIO: + _interpret_video_test_scenario_menu(cmd); + break; default: g_print("*** Unknown Submenu state.\n"); break;