Name: capi-media-webrtc
Summary: A WebRTC library in Tizen Native API
-Version: 0.3.200
+Version: 0.3.201
Release: 0
Group: Multimedia/API
License: Apache-2.0
source_id, g_webrtc_media_type_str[media_type], muted);
}
+static void _webrtc_media_source_set_encoder_bitrate(int index, unsigned int source_id, webrtc_media_type_e media_type, int bitrate)
+{
+ int ret = webrtc_media_source_set_encoder_bitrate(g_ad.conns[index].webrtc, source_id, media_type, bitrate);
+ RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+ g_print("webrtc_media_source_set_encoder_bitrate() success, source_id[%d], media_type[%s], bitrate[%d]\n",
+ source_id, g_webrtc_media_type_str[media_type], bitrate);
+}
+
+static void _webrtc_media_source_get_encoder_bitrate(int index, unsigned int source_id, webrtc_media_type_e media_type)
+{
+ int bitrate;
+ int ret = webrtc_media_source_get_encoder_bitrate(g_ad.conns[index].webrtc, source_id, media_type, &bitrate);
+ RET_IF(ret != WEBRTC_ERROR_NONE, "ret[0x%x]", ret);
+
+ g_print("webrtc_media_source_get_encoder_bitrate() success, source_id[%d], media_type[%s], bitrate[%d]\n",
+ source_id, g_webrtc_media_type_str[media_type], bitrate);
+}
+
static void _webrtc_screen_source_set_crop(int index, unsigned int source_id, int x, int y, int w, int h, int is_vertical, int *width, int *height)
{
int ret = WEBRTC_ERROR_NONE;
break;
}
case CURRENT_STATUS_MEDIA_SOURCE_SET_PAUSE:
- case CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE: {
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE:
+ case CURRENT_STATUS_MEDIA_SOURCE_SET_ENCODER_BITRATE: {
static unsigned int id;
static unsigned int media_type;
- int new_state;
value = atoi(cmd);
switch (g_ad.input_count) {
g_ad.input_count++;
break;
case 2:
- new_state = value;
if (g_ad.menu_status == CURRENT_STATUS_MEDIA_SOURCE_SET_PAUSE)
- _webrtc_media_source_set_pause(0, id, media_type, new_state);
+ _webrtc_media_source_set_pause(0, id, media_type, value);
+ else if (g_ad.menu_status == CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE)
+ _webrtc_media_source_set_mute(0, id, media_type, value);
else
- _webrtc_media_source_set_mute(0, id, media_type, new_state);
+ _webrtc_media_source_set_encoder_bitrate(0, id, media_type, value);
id = media_type = 0;
g_ad.input_count = 0;
reset_menu_state();
break;
}
case CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE:
- case CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE: {
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE:
+ case CURRENT_STATUS_MEDIA_SOURCE_GET_ENCODER_BITRATE: {
static unsigned int id;
value = atoi(cmd);
case 1:
if (g_ad.menu_status == CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE)
_webrtc_media_source_get_pause(0, id, value - 1);
- else
+ else if (g_ad.menu_status == CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE)
_webrtc_media_source_get_mute(0, id, value - 1);
+ else
+ _webrtc_media_source_get_encoder_bitrate(0, id, value - 1);
id = 0;
g_ad.input_count = 0;
reset_menu_state();
{ "o", CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE, true },
{ "mu", CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE, true },
{ "mg", CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE, true },
+ { "sb", CURRENT_STATUS_MEDIA_SOURCE_SET_ENCODER_BITRATE, true },
+ { "gb", CURRENT_STATUS_MEDIA_SOURCE_GET_ENCODER_BITRATE, true },
{ "v", CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION, true },
{ "l", CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION, true },
{ "f", CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE, true },
g_print("o. Get the media source pause\n");
g_print("mu. Mute/unmute media source\t");
g_print("mg. Get the media source mute\n");
+ g_print("sb. Set encoder bitrate\t");
+ g_print("gb. Get encoder bitrate\n");
g_print("v. Set video resolution\t");
g_print("l. Get video resolution\n");
g_print("f. Set video framerate\t");
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");
+ else if (get_appdata()->input_count == 1)
+ g_print("*** input media type.(1:audio 2:video)\n");
+ 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");
CURRENT_STATUS_MEDIA_SOURCE_GET_PAUSE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x09,
CURRENT_STATUS_MEDIA_SOURCE_SET_MUTE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0A,
CURRENT_STATUS_MEDIA_SOURCE_GET_MUTE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0B,
- CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0C,
- 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_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,
+ CURRENT_STATUS_MEDIA_SOURCE_SET_ENCODER_BITRATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0C,
+ CURRENT_STATUS_MEDIA_SOURCE_GET_ENCODER_BITRATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0D,
+ CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_RESOLUTION = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0E,
+ CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_RESOLUTION = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x0F,
+ CURRENT_STATUS_MEDIA_SOURCE_SET_VIDEO_FRAMERATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x10,
+ CURRENT_STATUS_MEDIA_SOURCE_GET_VIDEO_FRAMERATE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x11,
+ CURRENT_STATUS_CAMERA_SOURCE_SET_DEVICE_ID = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x12,
+ CURRENT_STATUS_CAMERA_SOURCE_GET_DEVICE_ID = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x13,
+ CURRENT_STATUS_FILE_SOURCE_SET_PATH = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x14,
+ CURRENT_STATUS_FILE_SOURCE_SET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x15,
+ CURRENT_STATUS_FILE_SOURCE_GET_LOOPING = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x16,
+ CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_FORMAT = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x17,
+ CURRENT_STATUS_MEDIA_PACKET_SOURCE_SET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x18,
+ CURRENT_STATUS_MEDIA_PACKET_SOURCE_UNSET_BUFFER_STATE_CHANGED_CB = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x19,
+ CURRENT_STATUS_START_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1A,
+ CURRENT_STATUS_STOP_PUSHING_PACKET_TO_MEDIA_PACKET_SOURCE = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1B,
+ CURRENT_STATUS_SCREEN_SOURCE_SET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1C,
+ CURRENT_STATUS_SCREEN_SOURCE_UNSET_CROP = TEST_MENU_WEBRTC_MEDIA_SOURCE | 0x1D,
/* 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,
}
#endif /* __cplusplus */
-#endif
\ No newline at end of file
+#endif