From: Sangchul Lee Date: Fri, 15 Jul 2022 11:14:13 +0000 (+0900) Subject: webrtc_test: Add menu to set/get camera device id X-Git-Tag: submit/tizen/20220812.094531~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=bd976471fddaf46a5f3ca8d7b3c904f6d98286c4;p=platform%2Fcore%2Fapi%2Fwebrtc.git webrtc_test: Add menu to set/get camera device id [Version] 0.3.200 [Issue Type] Add Change-Id: Id780ecee512987389d3fda68f9a86ee24e422630 Signed-off-by: Sangchul Lee --- diff --git a/packaging/capi-media-webrtc.spec b/packaging/capi-media-webrtc.spec index 4c32bffa..f2e72c13 100644 --- a/packaging/capi-media-webrtc.spec +++ b/packaging/capi-media-webrtc.spec @@ -1,6 +1,6 @@ Name: capi-media-webrtc Summary: A WebRTC library in Tizen Native API -Version: 0.3.199 +Version: 0.3.200 Release: 0 Group: Multimedia/API License: Apache-2.0 diff --git a/test/webrtc_test.c b/test/webrtc_test.c index b76f1c51..ecb8f367 100644 --- a/test/webrtc_test.c +++ b/test/webrtc_test.c @@ -597,6 +597,27 @@ static void _webrtc_media_source_get_video_framerate(int index, unsigned int sou g_print("webrtc_media_source_get_video_framerate() success, source_id[%u], framerate[%d]\n", source_id, framerate); } +static void _webrtc_camera_source_set_device_id(int index, unsigned int source_id, unsigned int device_id) +{ + int ret = WEBRTC_ERROR_NONE; + + ret = webrtc_camera_source_set_device_id(g_ad.conns[index].webrtc, source_id, device_id); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("webrtc_camera_source_set_device_id() success, source_id[%u], device_id[%u]\n", source_id, device_id); +} + +static void _webrtc_camera_source_get_device_id(int index, unsigned int source_id) +{ + int ret = WEBRTC_ERROR_NONE; + unsigned int device_id; + + ret = webrtc_camera_source_get_device_id(g_ad.conns[index].webrtc, source_id, &device_id); + RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret); + + g_print("webrtc_camera_source_get_device_id() success, source_id[%u], device_id[%u]\n", source_id, device_id); +} + #define VIDEO_WIDTH 320 #define VIDEO_HEIGHT 240 #define VIDEO_FRAME_RATE 30 @@ -3216,9 +3237,9 @@ static void test_webrtc_media_source(char *cmd) } break; } - case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE: { + case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION: { value = atoi(cmd); - _webrtc_media_source_get_video_framerate(0, value); + _webrtc_media_source_get_video_resolution(0, value); reset_menu_state(); break; } @@ -3242,9 +3263,35 @@ static void test_webrtc_media_source(char *cmd) } break; } - case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION: { + case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE: { value = atoi(cmd); - _webrtc_media_source_get_video_resolution(0, value); + _webrtc_media_source_get_video_framerate(0, value); + reset_menu_state(); + break; + } + case CURRENT_STATUS_CAMERA_SOURCE_SET_DEVICE_ID: { + static unsigned int source_id; + static unsigned int device_id; + value = atoi(cmd); + + switch (g_ad.input_count) { + case 0: + source_id = value; + g_ad.input_count++; + break; + case 1: + device_id = value; + _webrtc_camera_source_set_device_id(0, source_id, device_id); + source_id = device_id = 0; + g_ad.input_count = 0; + reset_menu_state(); + break; + } + break; + } + case CURRENT_STATUS_CAMERA_SOURCE_GET_DEVICE_ID: { + value = atoi(cmd); + _webrtc_camera_source_get_device_id(0, value); reset_menu_state(); break; } diff --git a/test/webrtc_test_menu.c b/test/webrtc_test_menu.c index fd7cc536..38f442bb 100644 --- a/test/webrtc_test_menu.c +++ b/test/webrtc_test_menu.c @@ -62,6 +62,8 @@ menu_info_s g_menu_infos[] = { { "l", CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION, true }, { "f", CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE, true }, { "m", CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE, true }, + { "csd", CURRENT_STATUS_CAMERA_SOURCE_SET_DEVICE_ID, true }, + { "cgd", CURRENT_STATUS_CAMERA_SOURCE_GET_DEVICE_ID, true }, { "pa", CURRENT_STATUS_FILE_SOURCE_SET_PATH, true }, { "sfl", CURRENT_STATUS_FILE_SOURCE_SET_LOOPING, true }, { "gfl", CURRENT_STATUS_FILE_SOURCE_GET_LOOPING, true }, @@ -219,6 +221,8 @@ void display_menu_main(void) g_print("l. Get video resolution\n"); g_print("f. Set video framerate\t"); g_print("m. Get video framerate\n"); + g_print("csd. Set camera device id\t"); + g_print("cgd. Get camera device id\n"); g_print("td. Set transceiver direction\t"); g_print("gd. Get transceiver direction\n"); g_print("fc. Get supported transceiver codecs\t"); @@ -369,6 +373,15 @@ void display_menu_webrtc_media_source(void) case CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE: g_print("*** input source id.\n"); break; + case CURRENT_STATUS_CAMERA_SOURCE_SET_DEVICE_ID: + if (get_appdata()->input_count == 0) + g_print("*** input source id.\n"); + else if (get_appdata()->input_count == 1) + g_print("*** input device id.\n"); + break; + case CURRENT_STATUS_CAMERA_SOURCE_GET_DEVICE_ID: + g_print("*** input source id.\n"); + break; case CURRENT_STATUS_MEDIA_SOURCE_SET_TRANSCEIVER_DIRECTION: if (get_appdata()->input_count == 0) g_print("*** input source id.\n"); diff --git a/test/webrtc_test_priv.h b/test/webrtc_test_priv.h index e006a703..51ac6d6e 100644 --- a/test/webrtc_test_priv.h +++ b/test/webrtc_test_priv.h @@ -101,16 +101,18 @@ enum { CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0D, CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0E, CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0F, - CURRENT_STATUS_FILE_SOURCE_SET_PATH = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x10, - CURRENT_STATUS_FILE_SOURCE_SET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x11, - CURRENT_STATUS_FILE_SOURCE_GET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x12, - CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_FORMAT = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x13, - CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x14, - CURRENT_STATUS_MEDIA_PACKET_SOURCE_UNSET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x15, - CURRENT_STATUS_START_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x16, - CURRENT_STATUS_STOP_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x17, - CURRENT_STATUS_SCREEN_SOURCE_SET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x18, - CURRENT_STATUS_SCREEN_SOURCE_UNSET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x19, + CURRENT_STATUS_CAMERA_SOURCE_SET_DEVICE_ID = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x10, + CURRENT_STATUS_CAMERA_SOURCE_GET_DEVICE_ID = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x11, + CURRENT_STATUS_FILE_SOURCE_SET_PATH = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x12, + CURRENT_STATUS_FILE_SOURCE_SET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x13, + CURRENT_STATUS_FILE_SOURCE_GET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x14, + CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_FORMAT = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x15, + CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x16, + CURRENT_STATUS_MEDIA_PACKET_SOURCE_UNSET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x17, + CURRENT_STATUS_START_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x18, + CURRENT_STATUS_STOP_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x19, + CURRENT_STATUS_SCREEN_SOURCE_SET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1A, + CURRENT_STATUS_SCREEN_SOURCE_UNSET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1B, /* webrtc media render */ CURRENT_STATUS_SET_DISPLAY_TYPE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x01, CURRENT_STATUS_SET_DISPLAY_MODE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x02,