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;
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;
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"
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;
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");
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");
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:
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;
}
}
+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();
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 {
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);
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)) {
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);
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;