1 /** \addtogroup  RTP_Stack
2  *  @{
3  */
4 
5 /**
6  * @class   RtpStackProfile
7  * @brief   Class stores RTP profile information which includes MTU, RTCP Bandwidth, etc.
8  */
9 
10 /**
11  * Copyright (C) 2022 The Android Open Source Project
12  *
13  * Licensed under the Apache License, Version 2.0 (the "License");
14  * you may not use this file except in compliance with the License.
15  * You may obtain a copy of the License at
16  *
17  *      http://www.apache.org/licenses/LICENSE-2.0
18  *
19  * Unless required by applicable law or agreed to in writing, software
20  * distributed under the License is distributed on an "AS IS" BASIS,
21  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22  * See the License for the specific language governing permissions and
23  * limitations under the License.
24  */
25 
26 #ifndef __RTP_STACK_PROFILE_H__
27 #define __RTP_STACK_PROFILE_H__
28 
29 #include <RtpGlobal.h>
30 
31 class RtpStackProfile
32 {
33 private:
34     // Percentage of Bandwidth dedicated for RTCP packets. Defaults to RTP_DEF_RTCP_BW_SIZE
35     RtpDt_UInt32 m_uiRtcpSessionBw;
36 
37     /** MTU size will be used for validation. If generated Packet is larger than the
38      * MTU size, send will fail with RTP_MTU_EXCEEDED as return status
39      */
40     RtpDt_UInt32 m_uiMTUSize;
41     // Terminal number. Used in SSRC generation to make it more unique
42     RtpDt_UInt32 m_uiTermNum;
43 
44 public:
45     // Constructor
46     RtpStackProfile();
47     // Destructor
48     ~RtpStackProfile();
49 
50     // set method for m_uiRtcpSessionBw
51     RtpDt_Void setRtcpBandwidth(IN RtpDt_UInt32 uiRtcpBw);
52     // get method for m_uiRtcpSessionBw
53     RtpDt_UInt32 getRtcpBandwidth();
54 
55     // set method for m_uiMTUSize
56     RtpDt_Void setMtuSize(IN RtpDt_UInt32 uiMtuSize);
57     // get method for m_uiMTUSize
58     RtpDt_UInt32 getMtuSize();
59 
60     // set method for m_uiTermNum
61     RtpDt_Void setTermNumber(IN RtpDt_UInt32 uiTermNum);
62     // get method for m_uiTermNum
63     RtpDt_UInt32 getTermNumber();
64 
65 };  // end of RtpStackProfile
66 
67 #endif  //__RTP_STACK_PROFILE_H__
68 
69 /** @}*/
70