webrtc_test: Add menu for new internal APIs tests 02/284802/1 accepted/tizen/7.0/unified/20221129.172453
authorSangchul Lee <sc11.lee@samsung.com>
Tue, 4 Oct 2022 06:45:37 +0000 (15:45 +0900)
committerSangchul Lee <sc11.lee@samsung.com>
Mon, 28 Nov 2022 02:54:36 +0000 (02:54 +0000)
1. set/get audio track mute
2. get video track resolution

[Version] 0.3.267
[Issue Type] Add

Change-Id: I953ee0f0b3b1d982c393ada0bd4058228d981307
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 1b87e83d910224592a641bc55fc046590e9c3c30..7358eac5189fbfd672b1e24ded7a54a8bcb1b12f 100644 (file)
@@ -1,6 +1,6 @@
 Name:       capi-media-webrtc
 Summary:    A WebRTC library in Tizen Native API
-Version:    0.3.266
+Version:    0.3.267
 Release:    0
 Group:      Multimedia/API
 License:    Apache-2.0
index 0b12ffbfa8fcb383b531c943c665536caba8a45b..0e7d9381afc7435d1f5f3ec14b6b57904ffceb05 100644 (file)
@@ -858,6 +858,37 @@ static void _webrtc_get_display_visible(int index, unsigned int track_id)
        g_print("webrtc_get_display_visible() success, track_id[%u], visible[%u]\n", track_id, visible);
 }
 
+static void _webrtc_set_audio_mute(int index, unsigned int track_id, int mute)
+{
+       int ret = webrtc_set_audio_mute(g_ad.conns[index].webrtc, track_id, (bool)mute);
+       RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+       g_print("webrtc_set_audio_mute() success, track_id[%u], mute[%u]\n", track_id, mute);
+}
+
+static void _webrtc_get_audio_mute(int index, unsigned int track_id)
+{
+       int ret = WEBRTC_ERROR_NONE;
+       bool muted;
+
+       ret = webrtc_get_audio_mute(g_ad.conns[index].webrtc, track_id, &muted);
+       RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+       g_print("webrtc_get_audio_mute() success, track_id[%u], muted[%u]\n", track_id, muted);
+}
+
+static void _webrtc_get_video_resolution(int index, unsigned int track_id)
+{
+       int ret = WEBRTC_ERROR_NONE;
+       int width;
+       int height;
+
+       ret = webrtc_get_video_resolution(g_ad.conns[index].webrtc, track_id, &width, &height);
+       RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+       g_print("webrtc_get_video_resolution() success, track_id[%u], width[%d], height[%d]\n", track_id, width, height);
+}
+
 static void _webrtc_media_source_set_audio_loopback(int index, unsigned int source_id)
 {
        int ret = WEBRTC_ERROR_NONE;
@@ -3561,6 +3592,31 @@ static void test_webrtc_media_render(char *cmd)
                value = atoi(cmd);
                _webrtc_get_display_visible(0, value);
                break;
+       case CURRENT_STATUS_SET_AUDIO_MUTE: {
+               static unsigned int id;
+               value = atoi(cmd);
+
+               switch (g_ad.input_count) {
+               case 0:
+                       id = value;
+                       g_ad.input_count++;
+                       return;
+               case 1:
+                       _webrtc_set_audio_mute(0, id, value);
+                       id = 0;
+                       g_ad.input_count = 0;
+                       break;
+               }
+               break;
+       }
+       case CURRENT_STATUS_GET_AUDIO_MUTE:
+               value = atoi(cmd);
+               _webrtc_get_audio_mute(0, value);
+               break;
+       case CURRENT_STATUS_GET_VIDEO_RESOLUTION:
+               value = atoi(cmd);
+               _webrtc_get_video_resolution(0, value);
+               break;
        case CURRENT_STATUS_SET_ENCODED_AUDIO_FRAME_CB:
                _webrtc_set_encoded_audio_frame_cb(0);
                break;
index a535a8bcc4814f57aed43adee0821d3223c8b8f7..61aea257f1cf8ee311c18848a95c3f6568bb975a 100644 (file)
@@ -84,6 +84,9 @@ menu_info_s g_menu_infos[] = {
        { "gm", CURRENT_STATUS_GET_DISPLAY_MODE, true },
        { "dv", CURRENT_STATUS_SET_DISPLAY_VISIBLE, true },
        { "gv", CURRENT_STATUS_GET_DISPLAY_VISIBLE, true },
+       { "sam", CURRENT_STATUS_SET_AUDIO_MUTE, true },
+       { "gam", CURRENT_STATUS_GET_AUDIO_MUTE, true },
+       { "gvr", CURRENT_STATUS_GET_VIDEO_RESOLUTION, true },
        { "sa", CURRENT_STATUS_SET_ENCODED_AUDIO_FRAME_CB, false },
        { "ua", CURRENT_STATUS_UNSET_ENCODED_AUDIO_FRAME_CB, false },
        { "sv", CURRENT_STATUS_SET_ENCODED_VIDEO_FRAME_CB, false },
@@ -250,6 +253,9 @@ void display_menu_main(void)
        g_print("gm. Get display mode\n");
        g_print("dv. Set display visible\t");
        g_print("gv. Get display visible\n");
+       g_print("*sam. Set audio mute\t");
+       g_print("*gam. Get audio mute\n");
+       g_print("*gvr. Get video resolution\n");
        g_print("al. Set audio loopback\t");
        g_print("ual. Unset audio loopback\n");
        g_print("vl. Set video loopback\t");
@@ -530,6 +536,18 @@ void display_menu_webrtc_media_render(void)
        case CURRENT_STATUS_GET_DISPLAY_VISIBLE:
                g_print("*** input track id.\n");
                break;
+       case CURRENT_STATUS_SET_AUDIO_MUTE:
+               if (get_appdata()->input_count == 0)
+                       g_print("*** input track id.\n");
+               else if (get_appdata()->input_count == 1)
+                       g_print("*** input audio mute.(1:true 0:false)\n");
+               break;
+       case CURRENT_STATUS_GET_AUDIO_MUTE:
+               g_print("*** input track id.\n");
+               break;
+       case CURRENT_STATUS_GET_VIDEO_RESOLUTION:
+               g_print("*** input track id.\n");
+               break;
        case CURRENT_STATUS_MEDIA_SOURCE_SET_AUDIO_LOOPBACK:
                g_print("*** input source id.\n");
                break;
index 2fb31e4cefe3505695295389ae9da41b72fb95b2..89e715d45c16622628d3047057f1dc011b5be576 100644 (file)
@@ -123,14 +123,17 @@ enum {
        CURRENT_STATUS_GET_DISPLAY_MODE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x03,
        CURRENT_STATUS_SET_DISPLAY_VISIBLE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x04,
        CURRENT_STATUS_GET_DISPLAY_VISIBLE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x05,
-       CURRENT_STATUS_SET_ENCODED_AUDIO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x06,
-       CURRENT_STATUS_UNSET_ENCODED_AUDIO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x07,
-       CURRENT_STATUS_SET_ENCODED_VIDEO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x08,
-       CURRENT_STATUS_UNSET_ENCODED_VIDEO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x09,
-       CURRENT_STATUS_MEDIA_SOURCE_SET_AUDIO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0A,
-       CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0B,
-       CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0C,
-       CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0D,
+       CURRENT_STATUS_SET_AUDIO_MUTE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x06,
+       CURRENT_STATUS_GET_AUDIO_MUTE = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x07,
+       CURRENT_STATUS_GET_VIDEO_RESOLUTION = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x08,
+       CURRENT_STATUS_SET_ENCODED_AUDIO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x09,
+       CURRENT_STATUS_UNSET_ENCODED_AUDIO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0A,
+       CURRENT_STATUS_SET_ENCODED_VIDEO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0B,
+       CURRENT_STATUS_UNSET_ENCODED_VIDEO_FRAME_CB = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0C,
+       CURRENT_STATUS_MEDIA_SOURCE_SET_AUDIO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0D,
+       CURRENT_STATUS_MEDIA_SOURCE_UNSET_AUDIO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0E,
+       CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x0F,
+       CURRENT_STATUS_MEDIA_SOURCE_UNSET_VIDEO_LOOPBACK = TEST_MENU_WEBRTC_MEDIA_RENDER | 0x10,
        /* webrtc data channel */
        CURRENT_STATUS_DATA_CHANNEL_CREATE = TEST_MENU_WEBRTC_DATA_CHANNEL | 0x01,
        CURRENT_STATUS_DATA_CHANNEL_DESTROY = TEST_MENU_WEBRTC_DATA_CHANNEL | 0x02,