diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-12-26 02:27:14 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-12-26 02:27:14 +0000 |
commit | 66ba60640c9016496736679a5f5d4f76ca9c92b4 (patch) | |
tree | a71e50cfd9d35fad717f020cc586c2fed0dd540f /pjsip | |
parent | 2fe9c7e503a9599ed0361e10bb6ba1c4bf311e4c (diff) |
Ticket #51: Added audio level adjustment to PJSUA-API
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@864 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/include/pjsua-lib/pjsua.h | 51 | ||||
-rw-r--r-- | pjsip/src/pjsua-lib/pjsua_media.c | 36 |
2 files changed, 86 insertions, 1 deletions
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h index cb8d4643..87481b1d 100644 --- a/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h @@ -2625,6 +2625,57 @@ PJ_DECL(pj_status_t) pjsua_conf_disconnect(pjsua_conf_port_id source, pjsua_conf_port_id sink); +/** + * Adjust the signal level to be transmitted from the bridge to the + * specified port by making it louder or quieter. + * + * @param slot The conference bridge slot number. + * @param level Signal level adjustment. Value 1.0 means no level + * adjustment, while value 0 means to mute the port. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjsua_conf_adjust_tx_level(pjsua_conf_port_id slot, + float level); + +/** + * Adjust the signal level to be received from the specified port (to + * the bridge) by making it louder or quieter. + * + * @param slot The conference bridge slot number. + * @param level Signal level adjustment. Value 1.0 means no level + * adjustment, while value 0 means to mute the port. + * + * @return PJ_SUCCESS on success, or the appropriate error code. + */ +PJ_DECL(pj_status_t) pjsua_conf_adjust_rx_level(pjsua_conf_port_id slot, + float level); + +/** + * Get last signal level transmitted to or received from the specified port. + * The signal level is an integer value in zero to 255, with zero indicates + * no signal, and 255 indicates the loudest signal level. + * + * @param slot The conference bridge slot number. + * @param tx_level Optional argument to receive the level of signal + * transmitted to the specified port (i.e. the direction + * is from the bridge to the port). + * @param rx_level Optional argument to receive the level of signal + * received from the port (i.e. the direction is from the + * port to the bridge). + * + * @return PJ_SUCCESS on success. + */ +PJ_DECL(pj_status_t) pjsua_conf_get_signal_level(pjsua_conf_port_id slot, + unsigned *tx_level, + unsigned *rx_level); + +/** + * + */ + + + /***************************************************************************** * File player. */ diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c index 87d7d6df..07af5fbb 100644 --- a/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c @@ -673,6 +673,40 @@ PJ_DEF(pj_status_t) pjsua_conf_disconnect( pjsua_conf_port_id source, } +/* + * Adjust the signal level to be transmitted from the bridge to the + * specified port by making it louder or quieter. + */ +PJ_DEF(pj_status_t) pjsua_conf_adjust_tx_level(pjsua_conf_port_id slot, + float level) +{ + return pjmedia_conf_adjust_tx_level(pjsua_var.mconf, slot, + (int)((level-1) * 128)); +} + +/* + * Adjust the signal level to be received from the specified port (to + * the bridge) by making it louder or quieter. + */ +PJ_DEF(pj_status_t) pjsua_conf_adjust_rx_level(pjsua_conf_port_id slot, + float level) +{ + return pjmedia_conf_adjust_rx_level(pjsua_var.mconf, slot, + (int)((level-1) * 128)); +} + + +/* + * Get last signal level transmitted to or received from the specified port. + */ +PJ_DEF(pj_status_t) pjsua_conf_get_signal_level(pjsua_conf_port_id slot, + unsigned *tx_level, + unsigned *rx_level) +{ + return pjmedia_conf_get_signal_level(pjsua_var.mconf, slot, + tx_level, rx_level); +} + /***************************************************************************** * File player. */ @@ -1008,7 +1042,7 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, int playback_dev) { pjmedia_port *conf_port; - const pjmedia_snd_dev_info *cap_info, *play_info; + const pjmedia_snd_dev_info *play_info; unsigned clock_rates[] = { 0, 22050, 44100, 48000, 11025, 32000, 8000}; unsigned selected_clock_rate = 0; unsigned i; |