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"
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;
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");
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)
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();