From 19457aec6f4670955f5c7f5e4ee71b59f73ebf21 Mon Sep 17 00:00:00 2001 From: Hyunil Date: Mon, 30 Sep 2019 14:49:45 +0900 Subject: [PATCH] Add test case for capsfilter Change-Id: I296554d31487965cde6756adf45cab29a636796b Signed-off-by: Hyunil --- test/media_streamer_test.c | 45 ++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/test/media_streamer_test.c b/test/media_streamer_test.c index ae386bb..a961fd1 100644 --- a/test/media_streamer_test.c +++ b/test/media_streamer_test.c @@ -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(); -- 2.7.4