webrtc_test: Add menu to set/get camera device id 65/277965/6
authorSangchul Lee <sc11.lee@samsung.com>
Fri, 15 Jul 2022 11:14:13 +0000 (20:14 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Wed, 10 Aug 2022 08:40:59 +0000 (17:40 +0900)
[Version] 0.3.200
[Issue Type] Add

Change-Id: Id780ecee512987389d3fda68f9a86ee24e422630
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
packaging/capi-media-webrtc.spec
test/webrtc_test.c
test/webrtc_test_menu.c
test/webrtc_test_priv.h

index 4c32bffaf859ff14bc5eb919da0573141ccf070d..f2e72c130b5e36f50901f41d2e19d9e4d32f4da5 100644 (file)
@@ -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
index b76f1c5147280e9bd471c739563373a407baf333..ecb8f3679e776c91f34024387134eeed23d771bf 100644 (file)
@@ -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;
        }
index fd7cc536ab58a842d4f41cf9e59cbd5536e88e74..38f442bbfb40e4b659f69e403f1484a1858c4553 100644 (file)
@@ -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");
index e006a703820e227a2ac451439be667f6c455e6fd..51ac6d6ee326c7f4e852e68d900d14b2193f3c21 100644 (file)
@@ -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,