test: Add menu for getting transceiver mid 19/307819/1
authorSangchul Lee <sc11.lee@samsung.com>
Thu, 7 Mar 2024 03:13:24 +0000 (12:13 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Wed, 13 Mar 2024 09:42:36 +0000 (09:42 +0000)
[Version] 0.4.50
[Issue Type] Test application

Change-Id: I66e0c8824a0f7522cfeaaa5c6418988a584356e5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
(cherry picked from commit 9ca9c8cb3b25b708f6876ce7e5d9239d18913827)

packaging/capi-media-webrtc.spec
test/webrtc_test.c
test/webrtc_test_menu.c
test/webrtc_test_priv.h

index 71fea89becb8489df763e94e1e9394f25dc1ec73..4d1d9343ba3cda7a357d0c0ddb705d3fcb346edf 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.4.49
+Version:    0.4.50
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index dbc1006ecd31703189c640fbe512fec388f63d85..3fe2a75bdf596615dc490d7468ab42a09e63ede0 100644 (file)
@@ -780,6 +780,21 @@ static void _webrtc_media_source_get_transceiver_codec(int index, unsigned int s
                source_id, g_webrtc_media_type_str[media_type], g_webrtc_transceiver_codec_str[codec]);
 }
 
+static void _webrtc_media_source_get_transceiver_mid(int index, unsigned int source_id, webrtc_media_type_e media_type)
+{
+       int ret = WEBRTC_ERROR_NONE;
+       gchar *mid;
+
+       ret = webrtc_media_source_get_transceiver_mid(g_ad.conns[index].webrtc, source_id, media_type, &mid);
+       RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+       g_print("webrtc_media_source_get_transceiver_mid() success, source_id[%u], media_type[%s], mid[%s]\n",
+               source_id, g_webrtc_media_type_str[media_type], mid);
+
+       if (mid)
+               free(mid);
+}
+
 static void _webrtc_media_source_set_transceiver_codec(int index, unsigned int source_id, webrtc_media_type_e media_type, int value)
 {
        int ret;
@@ -3717,6 +3732,24 @@ static void test_webrtc_media_source(char *cmd)
                }
                break;
        }
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_MID: {
+               static unsigned int id;
+               static unsigned int media_type;
+
+               switch (g_ad.input_count) {
+               case 0:
+                       id = value;
+                       g_ad.input_count++;
+                       return;
+               case 1:
+                       media_type = value - 1;
+                       _webrtc_media_source_get_transceiver_mid(0, id, media_type);
+                       id = media_type = 0;
+                       g_ad.input_count = 0;
+                       break;
+               }
+               break;
+       }
        }
 
        reset_menu_state();
index 933163803276d3f5e8980e6d563e6385b475972e..9fbc657fb50f1347bda4b1af1a00d854716c58b2 100644 (file)
@@ -81,6 +81,7 @@ menu_info_s g_menu_infos[] = {
        { "ae", CURRENT_STATUS_MEDIA_SOURCE_ADD_TRANSCEIVER_ENCODING, true },
        { "re", CURRENT_STATUS_MEDIA_SOURCE_REMOVE_TRANSCEIVER_ENCODING, true },
        { "te", CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING, true },
+       { "tm", CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_MID, true },
        /* webrtc media render */
        { "dt", CURRENT_STATUS_SET_DISPLAY_TYPE, true },
        { "dm", CURRENT_STATUS_SET_DISPLAY_MODE, true },
@@ -254,6 +255,7 @@ void display_menu_main(void)
        g_print("ae. *Add transceiver encoding\t");
        g_print("re. *Remove transceiver encoding\t");
        g_print("te. *Active transceiver encoding\n");
+       g_print("tm. *Get transceiver mid\n");
        g_print("------------------------------------- Media Render --------------------------------------\n");
        g_print("dt. Set display type\t");
        g_print("dm. Set display mode\t");
@@ -355,7 +357,12 @@ void display_menu_webrtc_media_source(void)
                else if (get_appdata()->input_count == 2)
                        g_print("*** input pause or play.(1:pause, 0:play)\n");
                break;
-       case CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE :
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE:
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE:
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_ENCODER_BITRATE:
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_DIRECTION:
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_CODEC:
+       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_MID:
                if (get_appdata()->input_count == 0)
                        g_print("*** input source id.\n");
                else if (get_appdata()->input_count == 1)
@@ -369,12 +376,6 @@ void display_menu_webrtc_media_source(void)
                else if (get_appdata()->input_count == 2)
                        g_print("*** input mute mode.(1:mute 0:unmute)\n");
                break;
-       case CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE:
-               if (get_appdata()->input_count == 0)
-                       g_print("*** input source id.\n");
-               else if (get_appdata()->input_count == 1)
-                       g_print("*** input media type.(1:audio 2:video)\n");
-               break;
        case CURRENT_STATUS_MEDIA_SOURCE_SET_ENCODER_BITRATE:
                if (get_appdata()->input_count == 0)
                        g_print("*** input source id.\n");
@@ -383,12 +384,6 @@ void display_menu_webrtc_media_source(void)
                else if (get_appdata()->input_count == 2)
                        g_print("*** input target bitrate.\n");
                break;
-       case CURRENT_STATUS_MEDIA_SOURCE_GET_ENCODER_BITRATE:
-               if (get_appdata()->input_count == 0)
-                       g_print("*** input source id.\n");
-               else if (get_appdata()->input_count == 1)
-                       g_print("*** input media type.(1:audio 2:video)\n");
-               break;
        case CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION:
                if (get_appdata()->input_count == 0)
                        g_print("*** input source id.\n");
@@ -426,12 +421,6 @@ void display_menu_webrtc_media_source(void)
                else if (get_appdata()->input_count == 2)
                        g_print("*** input transceiver direction.(1:sendonly 2:recvonly 3:sendrecv)\n");
                break;
-       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_DIRECTION:
-               if (get_appdata()->input_count == 0)
-                       g_print("*** input source id.\n");
-               else if (get_appdata()->input_count == 1)
-                       g_print("*** input media type.(1:audio 2:video)\n");
-               break;
        case CURRENT_STATUS_MEDIA_SOURCE_FOREACH_SUPPORTED_TRANSCEIVER_CODEC:
                if (get_appdata()->input_count == 0)
                        g_print("*** input media source type.(1:audiotest, 2:videotest, 3:mic, 4:camera, 5:screen, 6:file, 7:media packet, 8:null)\n");
@@ -446,12 +435,6 @@ void display_menu_webrtc_media_source(void)
                else if (get_appdata()->input_count == 2)
                        g_print("*** input transceiver codec.(1:PCMU 2:PCMA 3:OPUS 4:VP8 5:VP9 6:H264)\n");
                break;
-       case CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_CODEC:
-               if (get_appdata()->input_count == 0)
-                       g_print("*** input source id.\n");
-               else if (get_appdata()->input_count == 1)
-                       g_print("*** input media type.(1:audio 2:video)\n");
-               break;
        case CURRENT_STATUS_FILE_SOURCE_SET_PATH:
                if (get_appdata()->input_count == 0)
                        g_print("*** input source id.\n");
index 44195c14158959f14ff03a117fa6e936ca0540e5..172bd1397b86dc0e2042f2bf88ec1b3cd88faa6f 100644 (file)
@@ -120,6 +120,7 @@ enum {
        CURRENT_STATUS_MEDIA_SOURCE_ADD_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x21,
        CURRENT_STATUS_MEDIA_SOURCE_REMOVE_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x22,
        CURRENT_STATUS_MEDIA_SOURCE_ACTIVE_TRANSCEIVER_ENCODING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x23,
+       CURRENT_STATUS_MEDIA_SOURCE_GET_TRANSCEIVER_MID = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x24,
        /* 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,