Add test case for videotestsrc and videosink 79/214779/4
authorHyunil <hyunil46.park@samsung.com>
Thu, 26 Sep 2019 08:06:45 +0000 (17:06 +0900)
committerHyunil <hyunil46.park@samsung.com>
Thu, 26 Sep 2019 08:29:11 +0000 (17:29 +0900)
Change-Id: I131b0a0befdfbe166bf63f34db821af3eece191e
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
test/media_streamer_test.c

index bdd8b98..ae386bb 100644 (file)
@@ -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;