Add test case for capsfilter 42/214942/1
authorHyunil <hyunil46.park@samsung.com>
Mon, 30 Sep 2019 05:49:45 +0000 (14:49 +0900)
committerHyunil <hyunil46.park@samsung.com>
Mon, 30 Sep 2019 05:49:45 +0000 (14:49 +0900)
Change-Id: I296554d31487965cde6756adf45cab29a636796b
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
test/media_streamer_test.c

index ae386bb..a961fd1 100644 (file)
@@ -91,7 +91,8 @@ typedef enum {
        SCENARIO_MODE_ADAPTIVE_CLIENT_MANUAL,
        SCENARIO_MODE_FILE_PLAY_AAC_AUDIO,
        SCENARIO_MODE_FILE_PLAY_MP3_AUDIO,
-       SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK
+       SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK,
+       SCENARIO_MODE_VIDEOTESTSRC_CAPSFILTER_VIDEOSINK
 } scenario_mode_e;
 
 #define PACKAGE "media_streamer_test"
@@ -532,6 +533,36 @@ static void _create_videotestsrc_videosink(void)
        media_streamer_node_link(videotestsrc, "src", video_sink, "sink");
 }
 
+static void _create_videotestsrc_capsfilter_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 videofilter = NULL;
+       media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_FILTER, NULL, vfmt_i420, &videofilter);
+       media_streamer_node_add(current_media_streamer, videofilter);
+       APPEND_NODE(videofilter);
+
+       /* convert I420 to BGRx */
+       media_streamer_node_h videoconverter = NULL;
+       media_streamer_node_create(MEDIA_STREAMER_NODE_TYPE_VIDEO_CONVERTER, NULL, NULL, &videoconverter);
+       media_streamer_node_add(current_media_streamer, videoconverter);
+       APPEND_NODE(videoconverter);
+
+       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", videofilter, "sink");
+       media_streamer_node_link(videofilter, "src", videoconverter, "sink");
+       media_streamer_node_link(videoconverter, "src", video_sink, "sink");
+}
+
 static void _create_file_sub_playing(void)
 {
        media_streamer_node_h file_sub_src = NULL;
@@ -1186,6 +1217,7 @@ static void display_video_test_scenario_select_menu(void)
        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("2. Videotestsrc -> Capsfilter -> Videosink\n");
        g_print("b. back \n");
        g_print("----------------------------------------------------\n");
        g_print("====================================================\n");
@@ -1385,10 +1417,14 @@ static void run_preset(void)
 
 void run_video_test_preset(void)
 {
-       if ((g_scenario_mode == SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK))
+       if ((g_scenario_mode == SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK)) {
                _create_videotestsrc_videosink();
-       else
+       } else if ((SCENARIO_MODE_VIDEOTESTSRC_CAPSFILTER_VIDEOSINK)) {
+               create_formats();
+               _create_videotestsrc_capsfilter_videosink();
+       } else {
                g_print("Invalid playing menu preset was selected!");
+       }
 }
 
 void run_playing_preset(void)
@@ -1590,6 +1626,9 @@ void _interpret_video_test_scenario_menu(char *cmd)
                if (!strncmp(cmd, "1", len)) {
                        g_scenario_mode = SCENARIO_MODE_VIDEOTESTSRC_VIDEOSINK;
                        g_printf("g_sub_menu_state (%d)\n", g_sub_menu_state);
+               } else if (!strncmp(cmd, "2", len)) {
+                       g_scenario_mode = SCENARIO_MODE_VIDEOTESTSRC_CAPSFILTER_VIDEOSINK;
+                       g_printf("g_sub_menu_state (%d)\n", g_sub_menu_state);
                }
        }
        run_video_test_preset();