g_print("webrtc_signaling_server_stop() success\n");
}
-void quit_program()
+static void quit_program()
{
int i;
for (i = 0; i < MAX_CONNECTION_LEN; i++) {
}
}
-void display_handle_status(int index)
+static void display_handle_status(int index)
{
int ret = WEBRTC_ERROR_NONE;
webrtc_state_e state;
g_print("-----------------------------------------------------------------------------------------\n");
}
-static void display_main_menu(void)
+static void display_menu_main(void)
{
g_print("\n");
g_print("=========================================================================================\n");
g_print("=========================================================================================\n");
}
-static void displaymenu(void)
+static void display_menu_webrtc_common(void)
{
- if (g_menu_state == CURRENT_STATUS_MAINMENU) {
- display_main_menu();
+ switch (g_menu_state) {
+ case CURRENT_STATUS_SET_STUN_SERVER:
+ g_print("*** input STUN server address.\n");
+ break;
+ case CURRENT_STATUS_ADD_TURN_SERVER:
+ g_print("*** input TURN server address.\n");
+ break;
+ case CURRENT_STATUS_SET_BUNDLE_POLICY:
+ g_print("*** input bundle policy.(0:none, 1:max-bundle)\n");
+ break;
+ case CURRENT_STATUS_SET_ICE_TRANSPORT_POLICY:
+ g_print("*** input ICE transport policy.(0:all, 1:relay)\n");
+ break;
+ case CURRENT_STATUS_SET_LOCAL_DESCRIPTION:
+ g_print("*** input type of local description.(1:offer, 2:answer)\n");
+ break;
+ case CURRENT_STATUS_SET_RTP_PACKET_DROP_PROBABILITY:
+ if (g_cnt == 0)
+ g_print("*** input side.(1:sender, 2:receiver)\n");
+ else if (g_cnt == 1)
+ g_print("*** input drop probability.(0 ~ 1.0)\n");
+ break;
+ case CURRENT_STATUS_GET_RTP_PACKET_DROP_PROBABILITY:
+ if (g_cnt == 0)
+ g_print("*** input side.(1:sender, 2:receiver)\n");
+ break;
+ }
+}
- } else if (g_menu_state == CURRENT_STATUS_ADD_MEDIA_SOURCE) {
+static void display_menu_webrtc_media_source(void)
+{
+ switch (g_menu_state) {
+ case CURRENT_STATUS_ADD_MEDIA_SOURCE:
g_print("*** input media source type.(1:audiotest, 2:videotest, 3:mic, 4:camera, 5:screen, 6:file, 7:media packet, 8:custom audio, 9:custom video)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_REMOVE_MEDIA_SOURCE) {
+ break;
+ case CURRENT_STATUS_REMOVE_MEDIA_SOURCE:
g_print("*** input media source id to remove.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_PAUSE) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_PAUSE:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input media type.(1:audio 2:video)\n");
else if (g_cnt == 2)
g_print("*** input pause or play.(1:pause, 0:play)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE :
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input media type.(1:audio 2:video)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE:
+ if (g_cnt == 0)
+ g_print("*** input source id.\n");
+ else if (g_cnt == 1)
+ g_print("*** input media type.(1:audio 2:video)\n");
+ else if (g_cnt == 2)
+ g_print("*** input mute mode.(1:mute 0:unmute)\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE:
+ if (g_cnt == 0)
+ g_print("*** input source id.\n");
+ else if (g_cnt == 1)
+ g_print("*** input media type.(1:audio 2:video)\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input width.\n");
else if (g_cnt == 2)
g_print("*** input height.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION:
g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input framerate.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE:
g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_BUFFER_STATE_CHANGED_CB) {
- g_print("*** input media packet source id to set buffer state changed callback.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_PACKET_SOURCE_UNSET_BUFFER_STATE_CHANGED_CB) {
- g_print("*** input media packet source id to unset buffer state changed callback.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_FORMAT) {
- if (g_cnt == 0)
- g_print("*** input source id.\n");
- else if (g_cnt == 1)
- g_print("*** input media format.(1:I420 2:NV12 3:PCM_S16LE 4:H264)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_DIRECTION) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_DIRECTION:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input media type.(1:audio 2:video)\n");
else if (g_cnt == 2)
g_print("*** input transceiver direction.(1:sendonly 2:recvonly 3:sendrecv)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_DIRECTION) {
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_DIRECTION:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input media type.(1:audio 2:video)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_DISPLAY_TYPE) {
- g_print("*** input display type.(1:overlay 2:evas)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_DISPLAY_MODE) {
- if (g_cnt == 0)
- g_print("*** input track id.\n");
- else if (g_cnt == 1)
- g_print("*** input display mode.(1:letter-box 2:origin size 3:full)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_GET_DISPLAY_MODE) {
- g_print("*** input track id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_DISPLAY_VISIBLE) {
+ break;
+ case CURRENT_STATUS_FILE_SOURCE_SET_PATH:
if (g_cnt == 0)
- g_print("*** input track id.\n");
+ g_print("*** input source id.\n");
else if (g_cnt == 1)
- g_print("*** input display visible.(1:true 0:false)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_GET_DISPLAY_VISIBLE) {
- g_print("*** input track id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_AUDIO_LOOPBACK) {
- g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK) {
- g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK) {
- g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK) {
- g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_FILE_SOURCE_SET_LOOPING) {
+ g_print("*** input media path.\n");
+ break;
+ case CURRENT_STATUS_FILE_SOURCE_SET_LOOPING:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input looping state.(1:true 0:false)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_FILE_SOURCE_GET_LOOPING) {
- if (g_cnt == 0)
- g_print("*** input source id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_DATA_CHANNEL_SEND_STRING) {
- g_print("*** input string to send.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_DATA_CHANNEL_SEND_STRING_AS_BYTES) {
- g_print("*** input string to send.(it will be converted to bytes data)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_DATA_CHANNEL_SEND_FILE) {
- g_print("*** input file path to send.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_DATA_CHANNEL_SET_BUFFERED_AMOUNT_LOW_CB) {
- g_print("*** input data channel buffered amount low threshold.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE) {
+ break;
+ case CURRENT_STATUS_FILE_SOURCE_GET_LOOPING:
if (g_cnt == 0)
g_print("*** input source id.\n");
- else if (g_cnt == 1)
- g_print("*** input media type.(1:audio 2:video)\n");
- else if (g_cnt == 2)
- g_print("*** input mute mode.(1:mute 0:unmute)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE) {
+ break;
+ case CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_BUFFER_STATE_CHANGED_CB:
+ g_print("*** input media packet source id to set buffer state changed callback.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_PACKET_SOURCE_UNSET_BUFFER_STATE_CHANGED_CB:
+ g_print("*** input media packet source id to unset buffer state changed callback.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_FORMAT:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
- g_print("*** input media type.(1:audio 2:video)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_CROP_SCREEN_SOURCE) {
+ g_print("*** input media format.(1:I420 2:NV12 3:PCM_S16LE 4:H264)\n");
+ break;
+ case CURRENT_STATUS_START_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE:
+ g_print("*** input media packet source id to start pushing packet.\n");
+ break;
+ case CURRENT_STATUS_STOP_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE:
+ g_print("*** input media packet source id to stop pushing packet.\n");
+ break;
+ case CURRENT_STATUS_SET_CROP_SCREEN_SOURCE:
if (g_cnt == 0)
g_print("*** input source id.\n");
else if (g_cnt == 1)
g_print("*** input height.\n");
else if (g_cnt == 5)
g_print("*** input whether screen rotates (0: horizontal, 1: vertical).\n");
-
- } else if (g_menu_state == CURRENT_STATUS_UNSET_CROP_SCREEN_SOURCE) {
+ break;
+ case CURRENT_STATUS_UNSET_CROP_SCREEN_SOURCE:
if (g_cnt == 0)
g_print("*** input source id.\n");
+ break;
+ }
+}
- } else if (g_menu_state == CURRENT_STATUS_SET_STUN_SERVER) {
- g_print("*** input STUN server address.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_ADD_TURN_SERVER) {
- g_print("*** input TURN server address.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_BUNDLE_POLICY) {
- g_print("*** input bundle policy.(0:none, 1:max-bundle)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_ICE_TRANSPORT_POLICY) {
- g_print("*** input ICE transport policy.(0:all, 1:relay)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_LOCAL_DESCRIPTION) {
- g_print("*** input type of local description.(1:offer, 2:answer)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SET_RTP_PACKET_DROP_PROBABILITY) {
+static void display_menu_webrtc_media_render(void)
+{
+ switch (g_menu_state) {
+ case CURRENT_STATUS_SET_DISPLAY_TYPE:
+ g_print("*** input display type.(1:overlay 2:evas)\n");
+ break;
+ case CURRENT_STATUS_SET_DISPLAY_MODE:
if (g_cnt == 0)
- g_print("*** input side.(1:sender, 2:receiver)\n");
+ g_print("*** input track id.\n");
else if (g_cnt == 1)
- g_print("*** input drop probability.(0 ~ 1.0)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_GET_RTP_PACKET_DROP_PROBABILITY) {
+ g_print("*** input display mode.(1:letter-box 2:origin size 3:full)\n");
+ break;
+ case CURRENT_STATUS_GET_DISPLAY_MODE:
+ g_print("*** input track id.\n");
+ break;
+ case CURRENT_STATUS_SET_DISPLAY_VISIBLE:
if (g_cnt == 0)
- g_print("*** input side.(1:sender, 2:receiver)\n");
+ g_print("*** input track id.\n");
+ else if (g_cnt == 1)
+ g_print("*** input display visible.(1:true 0:false)\n");
+ break;
+ case CURRENT_STATUS_GET_DISPLAY_VISIBLE:
+ g_print("*** input track id.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_AUDIO_LOOPBACK:
+ g_print("*** input source id.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK:
+ g_print("*** input source id.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK:
+ g_print("*** input source id.\n");
+ break;
+ case CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK:
+ g_print("*** input source id.\n");
+ break;
+ }
+}
- } else if (g_menu_state == CURRENT_STATUS_SETTING_SIGNALING_SERVER) {
- g_print("*** input signaling server URL.\n");
+static void display_menu_webrtc_data_channel(void)
+{
+ switch (g_menu_state) {
+ case CURRENT_STATUS_DATA_CHANNEL_SEND_STRING:
+ g_print("*** input string to send.\n");
+ break;
+ case CURRENT_STATUS_DATA_CHANNEL_SEND_STRING_AS_BYTES:
+ g_print("*** input string to send.(it will be converted to bytes data)\n");
+ break;
+ case CURRENT_STATUS_DATA_CHANNEL_SEND_FILE:
+ g_print("*** input file path to send.\n");
+ break;
+ case CURRENT_STATUS_DATA_CHANNEL_SET_BUFFERED_AMOUNT_LOW_CB:
+ g_print("*** input data channel buffered amount low threshold.\n");
+ break;
+ }
+}
- } else if (g_menu_state == CURRENT_STATUS_SETTING_PROXY) {
+static void display_menu_app_signaling(void)
+{
+ switch (g_menu_state) {
+ case CURRENT_STATUS_SETTING_SIGNALING_SERVER:
+ g_print("*** input signaling server URL.\n");
+ break;
+ case CURRENT_STATUS_SETTING_PROXY:
g_print("*** input proxy URL.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_REQUEST_SESSION) {
+ break;
+ case CURRENT_STATUS_REQUEST_SESSION:
g_print("*** input remote peer id.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_REQUEST_JOIN_ROOM) {
+ break;
+ case CURRENT_STATUS_REQUEST_JOIN_ROOM:
if (g_cnt == 0)
g_print("*** input source type.(1:audiotest/videotest 2:mic/camera 3:mic only)\n");
else if (g_cnt == 1)
g_print("*** input room name to join.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_SEND_LOCAL_DESCRIPTION) {
+ break;
+ case CURRENT_STATUS_SEND_LOCAL_DESCRIPTION:
g_print("*** input type of local description to send to the server.(1:offer, 2:answer)\n");
-
- } else if (g_menu_state == CURRENT_STATUS_START_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE) {
- g_print("*** input media packet source id to start pushing packet.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_STOP_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE) {
- g_print("*** input media packet source id to stop pushing packet.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_FILE_SOURCE_SET_PATH) {
- if (g_cnt == 0)
- g_print("*** input source id.\n");
- else if (g_cnt == 1)
- g_print("*** input media path.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_CREATE_PRIVATE_SIGNALING_SERVER) {
+ break;
+ case CURRENT_STATUS_CREATE_PRIVATE_SIGNALING_SERVER:
g_print("*** input port.\n");
-
- } else if (g_menu_state == CURRENT_STATUS_CONNECT_TO_PRIVATE_SIGNALING_SERVER) {
+ break;
+ case CURRENT_STATUS_CONNECT_TO_PRIVATE_SIGNALING_SERVER:
if (g_cnt == 0)
g_print("*** input server ip.\n");
else if (g_cnt == 1)
g_print("*** input port.\n");
+ break;
+ }
+}
+
+static void displaymenu(void)
+{
+ if (g_menu_state == CURRENT_STATUS_MAINMENU) {
+ display_menu_main();
} else {
- g_print("*** unknown status.\n");
- quit_program();
- }
+ if (g_menu_state & TEST_MENU_WEBRTC_COMMON) {
+ display_menu_webrtc_common();
+
+ } else if (g_menu_state & TEST_MENU_WEBRTC_MEDIA_SOURCE) {
+ display_menu_webrtc_media_source();
+ } else if (g_menu_state & TEST_MENU_WEBRTC_MEDIA_RENDER) {
+ display_menu_webrtc_media_render();
+
+ } else if (g_menu_state & TEST_MENU_WEBRTC_DATA_CHANNEL) {
+ display_menu_webrtc_data_channel();
+
+ } else if (g_menu_state & TEST_MENU_APP_SIGNALING) {
+ display_menu_app_signaling();
+
+ } else {
+ g_print("%s() > unknown menu status[0x%x]\n", __FUNCTION__, g_menu_state);
+ quit_program();
+ }
+ }
g_print(" >>> ");
}