]> sjero.net Git - linphone/blob - java/common/org/linphone/core/LinphoneCallParams.java
730a99dc2c8fe430d5ffef38eda721cb45fa8142
[linphone] / java / common / org / linphone / core / LinphoneCallParams.java
1 /*
2 LinphoneCallParameters.java
3 Copyright (C) 2010  Belledonne Communications, Grenoble, France
4
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
18 */
19 package org.linphone.core;
20 import org.linphone.core.LinphoneCore.MediaEncryption;
21 /**
22  * The LinphoneCallParams is an object containing various call related parameters.
23  * It can be used to retrieve parameters from a currently running call or modify the call's characteristics
24  * dynamically.
25  * @author Guillaume Beraudo
26  *
27  */
28 public interface LinphoneCallParams {
29         void setVideoEnabled(boolean b);
30         boolean getVideoEnabled();
31         
32         /**
33          * set audio bandwidth in kbits/s
34          * @param value 0 to disable limitation
35          */
36         void setAudioBandwidth(int value);
37
38         /**
39          * return selected media encryption
40          * @return MediaEncryption.None MediaEncryption.SRTP or MediaEncryption.ZRTP
41          */
42         MediaEncryption getMediaEncryption();
43         /**
44          * set media encryption (rtp) to use
45          * @params menc: MediaEncryption.None, MediaEncryption.SRTP or MediaEncryption.ZRTP
46          */
47         void setMediaEnctyption(MediaEncryption menc);
48
49         /**
50          * Get the currently used audio codec
51          * @return PayloadType or null
52          */
53         PayloadType getUsedAudioCodec();
54
55         /**
56          * Get the currently used video codec
57          * @return PayloadType or null
58          */
59         PayloadType getUsedVideoCodec();
60         
61         /**
62          * Indicate low bandwith mode. 
63          * Configuring a call to low bandwidth mode will result in the core to activate several settings for the call in order to ensure that bitrate usage
64          * is lowered to the minimum possible. Typically, ptime (packetization time) will be increased, audio codec's output bitrate will be targetted to 20kbit/s provided
65          * that it is achievable by the codec selected after SDP handshake. Video is automatically disabled.
66         **/
67         void enableLowBandwidth(boolean enable);
68 }