diff options
Diffstat (limited to 'tinyRTP/include/tinyrtp/rtcp')
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_header.h | 25 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_packet.h | 30 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_rblock.h | 27 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report.h | 6 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_bye.h | 15 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_fb.h | 163 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_rr.h | 19 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sdes.h | 13 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sr.h | 35 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_xr.h | 6 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_chunck.h | 15 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_item.h | 36 | ||||
-rwxr-xr-x | tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h | 8 |
13 files changed, 194 insertions, 204 deletions
diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_header.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_header.h index 9cf6a1a..354c082 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_header.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_header.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -33,16 +33,15 @@ TRTP_BEGIN_DECLS -typedef struct trtp_rtcp_header_s -{ - TSK_DECLARE_OBJECT; - - unsigned version:2; - unsigned padding:1; - unsigned rc:5; - trtp_rtcp_packet_type_t type; /**< Packet Type on 8bits */ - uint16_t length_in_words_minus1; /**< The length of this RTCP packet in 32-bit words minus one */ - uint32_t length_in_bytes; +typedef struct trtp_rtcp_header_s { + TSK_DECLARE_OBJECT; + + unsigned version:2; + unsigned padding:1; + unsigned rc:5; + trtp_rtcp_packet_type_t type; /**< Packet Type on 8bits */ + uint16_t length_in_words_minus1; /**< The length of this RTCP packet in 32-bit words minus one */ + uint32_t length_in_bytes; } trtp_rtcp_header_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_packet.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_packet.h index 9045be7..00867f5 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_packet.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_packet.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -35,23 +35,21 @@ TRTP_BEGIN_DECLS // RFC 3550 12.1 RTCP Packet Types // RFC 4585 // RFC 5104 (FIXME: not supported yet!) -typedef enum trtp_rtcp_packet_type_e -{ - trtp_rtcp_packet_type_sr = 200, - trtp_rtcp_packet_type_rr = 201, - trtp_rtcp_packet_type_sdes = 202, - trtp_rtcp_packet_type_bye = 203, - trtp_rtcp_packet_type_app = 204, - trtp_rtcp_packet_type_rtpfb = 205, - trtp_rtcp_packet_type_psfb = 206 +typedef enum trtp_rtcp_packet_type_e { + trtp_rtcp_packet_type_sr = 200, + trtp_rtcp_packet_type_rr = 201, + trtp_rtcp_packet_type_sdes = 202, + trtp_rtcp_packet_type_bye = 203, + trtp_rtcp_packet_type_app = 204, + trtp_rtcp_packet_type_rtpfb = 205, + trtp_rtcp_packet_type_psfb = 206 } trtp_rtcp_packet_type_t; -typedef struct trtp_rtcp_packet_s -{ - TSK_DECLARE_OBJECT; +typedef struct trtp_rtcp_packet_s { + TSK_DECLARE_OBJECT; - struct trtp_rtcp_header_s *header; + struct trtp_rtcp_header_s *header; } trtp_rtcp_packet_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_rblock.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_rblock.h index 5ea54e6..cc5285d 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_rblock.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_rblock.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -33,17 +33,16 @@ TRTP_BEGIN_DECLS #define TRTP_RTCP_RBLOCK(self) ((trtp_rtcp_rblock_t*)(self)) // RFC 3550 6.4.1 SR: Sender Report RTCP Packet => Report block part -typedef struct trtp_rtcp_rblock_s -{ - TSK_DECLARE_OBJECT; - - uint32_t ssrc; /* data source being reported */ - unsigned int fraction:8; /* fraction lost since last SR/RR */ - int cumulative_no_lost:24; /* cumul. no. pkts lost (signed!) */ - uint32_t last_seq; /* extended last seq. no. received */ - uint32_t jitter; /* interarrival jitter */ - uint32_t lsr; /* last SR packet from this source */ - uint32_t dlsr; /* delay since last SR packet */ +typedef struct trtp_rtcp_rblock_s { + TSK_DECLARE_OBJECT; + + uint32_t ssrc; /* data source being reported */ + unsigned int fraction:8; /* fraction lost since last SR/RR */ + int cumulative_no_lost:24; /* cumul. no. pkts lost (signed!) */ + uint32_t last_seq; /* extended last seq. no. received */ + uint32_t jitter; /* interarrival jitter */ + uint32_t lsr; /* last SR packet from this source */ + uint32_t dlsr; /* delay since last SR packet */ } trtp_rtcp_rblock_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report.h index c30351f..34031a5 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_bye.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_bye.h index 796e9fc..dac4e6c 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_bye.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_bye.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -26,12 +26,11 @@ #include "tinyrtp/rtcp/trtp_rtcp_packet.h" -typedef struct trtp_rtcp_report_bye_s -{ - TRTP_DECLARE_RTCP_PACKET; +typedef struct trtp_rtcp_report_bye_s { + TRTP_DECLARE_RTCP_PACKET; - uint32_t *ssrc_list; - trtp_rtcp_packets_L_t* packets; + uint32_t *ssrc_list; + trtp_rtcp_packets_L_t* packets; } trtp_rtcp_report_bye_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_fb.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_fb.h index 1ad30b4..a1bf9fe 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_fb.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_fb.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -30,42 +30,39 @@ #define TRTP_DECLARE_RTCP_FB_PACKET trtp_rtcp_report_fb_t __packet_fb__ // RFC 4585 6.1. Common Packet Format for Feedback Messages -typedef struct trtp_rtcp_report_fb_s -{ - TRTP_DECLARE_RTCP_PACKET; +typedef struct trtp_rtcp_report_fb_s { + TRTP_DECLARE_RTCP_PACKET; - uint32_t ssrc_sender; /* SSRC of packet sender */ - uint32_t ssrc_media; /* SSRC of media source */ + uint32_t ssrc_sender; /* SSRC of packet sender */ + uint32_t ssrc_media; /* SSRC of media source */ } trtp_rtcp_report_fb_t; -typedef enum trtp_rtcp_rtpfb_fci_type_e -{ - trtp_rtcp_rtpfb_fci_type_nack = 1, // RFC 4585 - trtp_rtcp_rtpfb_fci_type_tmmbn = 4, // RFC 5104 +typedef enum trtp_rtcp_rtpfb_fci_type_e { + trtp_rtcp_rtpfb_fci_type_nack = 1, // RFC 4585 + trtp_rtcp_rtpfb_fci_type_tmmbn = 4, // RFC 5104 } trtp_rtcp_rtpfb_fci_type_t; // Transport layer FB message -typedef struct trtp_rtcp_report_rtpfb_s -{ - TRTP_DECLARE_RTCP_FB_PACKET; - - trtp_rtcp_rtpfb_fci_type_t fci_type; - union{ - struct{ - tsk_size_t count; // not part of the specification - uint16_t* pid; // 16 bits - uint16_t* blp; // 16 bits - }nack; - struct{ - tsk_size_t count; // not part of the specification - uint32_t* ssrc; // 32 bits - uint8_t* MxTBR_Exp; // 6 bits - uint32_t* MxTBR_Mantissa; // 17 bits - uint16_t* MeasuredOverhead; // 9 bits - }tmmbn; - }; +typedef struct trtp_rtcp_report_rtpfb_s { + TRTP_DECLARE_RTCP_FB_PACKET; + + trtp_rtcp_rtpfb_fci_type_t fci_type; + union { + struct { + tsk_size_t count; // not part of the specification + uint16_t* pid; // 16 bits + uint16_t* blp; // 16 bits + } nack; + struct { + tsk_size_t count; // not part of the specification + uint32_t* ssrc; // 32 bits + uint8_t* MxTBR_Exp; // 6 bits + uint32_t* MxTBR_Mantissa; // 17 bits + uint16_t* MeasuredOverhead; // 9 bits + } tmmbn; + }; } trtp_rtcp_report_rtpfb_t; @@ -78,64 +75,67 @@ int trtp_rtcp_report_rtpfb_serialize_to(const trtp_rtcp_report_rtpfb_t* self, vo tsk_size_t trtp_rtcp_report_rtpfb_get_size(const trtp_rtcp_report_rtpfb_t* self); -typedef enum trtp_rtcp_psfb_fci_type_e -{ - trtp_rtcp_psfb_fci_type_pli = 1, /* rfc 4585: Picture Loss Indication (PLI) */ - trtp_rtcp_psfb_fci_type_sli = 2, /* rfc 4585: Slice Loss Indication (SLI) */ - trtp_rtcp_psfb_fci_type_rpsi = 3, /* rfc 4585: Reference Picture Selection Indication (RPSI) */ - trtp_rtcp_psfb_fci_type_fir = 4, /* rfc 5104: Full Intra Request (FIR) Command*/ - trtp_rtcp_psfb_fci_type_afb = 15, /* rfc 4585: Application layer FB (AFB) message */ +typedef enum trtp_rtcp_psfb_fci_type_e { + trtp_rtcp_psfb_fci_type_pli = 1, /* rfc 4585: Picture Loss Indication (PLI) */ + trtp_rtcp_psfb_fci_type_sli = 2, /* rfc 4585: Slice Loss Indication (SLI) */ + trtp_rtcp_psfb_fci_type_rpsi = 3, /* rfc 4585: Reference Picture Selection Indication (RPSI) */ + trtp_rtcp_psfb_fci_type_fir = 4, /* rfc 5104: Full Intra Request (FIR) Command*/ + trtp_rtcp_psfb_fci_type_afb = 15, /* rfc 4585: Application layer FB (AFB) message */ } trtp_rtcp_psfb_fci_type_t; /* rfc 4585: Application layer FB (AFB) message */ -typedef enum trtp_rtcp_psfb_afb_type_e -{ - trtp_rtcp_psfb_afb_type_none, - trtp_rtcp_psfb_afb_type_remb // draft-alvestrand-rmcat-remb-02 +typedef enum trtp_rtcp_psfb_afb_type_e { + trtp_rtcp_psfb_afb_type_none, + trtp_rtcp_psfb_afb_type_remb, // draft-alvestrand-rmcat-remb-02 + trtp_rtcp_psfb_afb_type_jcng, // doubango congestion control estimation } trtp_rtcp_psfb_afb_type_t; // Payload-specific FB message -typedef struct trtp_rtcp_report_psfb_s -{ - TRTP_DECLARE_RTCP_FB_PACKET; - - trtp_rtcp_psfb_fci_type_t fci_type; - union{ - // struct{ //rfc 4585: 6.3.1.2 - // } pli; - struct{ // rfc 4585: 6.3.2.2 - uint16_t* first; - uint16_t* number; - uint8_t* pic_id; - } sli; - struct{ // rfc 4585: 6.3.3.2 - unsigned pb:8; - unsigned pt:7; - uint8_t* bytes; - } rpsi; - struct{// rfc 5104: 4.3.1.1 - tsk_size_t count; - uint32_t* ssrc; // 32 bits - uint8_t* seq_num; // 8 bits - }fir; - struct{ // rfc 4585: 6.4 - trtp_rtcp_psfb_afb_type_t type; - union{ - struct{ // draft-alvestrand-rmcat-remb-02: 2.2 - // MxTBR = mantissa * 2^exp = (mantissa << exp) bps - uint8_t num_ssrc; - uint8_t exp; // 6bits - uint32_t mantissa; // 18bits - uint32_t* ssrc_feedbacks; // 'num_ssrc'nth SSRC entries - }remb; - struct{ - uint8_t* bytes; // store bytes to allow reconstruction - }none; // unknown type - }; - }afb; - }; +typedef struct trtp_rtcp_report_psfb_s { + TRTP_DECLARE_RTCP_FB_PACKET; + + trtp_rtcp_psfb_fci_type_t fci_type; + union { + // struct{ //rfc 4585: 6.3.1.2 + // } pli; + struct { // rfc 4585: 6.3.2.2 + uint16_t* first; + uint16_t* number; + uint8_t* pic_id; + } sli; + struct { // rfc 4585: 6.3.3.2 + unsigned pb:8; + unsigned pt:7; + uint8_t* bytes; + } rpsi; + struct { // rfc 5104: 4.3.1.1 + tsk_size_t count; + uint32_t* ssrc; // 32 bits + uint8_t* seq_num; // 8 bits + } fir; + struct { // rfc 4585: 6.4 + trtp_rtcp_psfb_afb_type_t type; + union { + struct { // draft-alvestrand-rmcat-remb-02: 2.2 + // MxTBR = mantissa * 2^exp = (mantissa << exp) bps + uint8_t num_ssrc; + uint8_t exp; // 6bits + uint32_t mantissa; // 18bits + uint32_t* ssrc_feedbacks; // 'num_ssrc'nth SSRC entries + } remb; + struct { // jitter buffer congestion estimation: doubango + uint8_t num_ssrc; + uint8_t q; // 8bits + uint32_t* ssrc_feedbacks; // 'num_ssrc'nth SSRC entries + } jcng; + struct { + uint8_t* bytes; // store bytes to allow reconstruction + } none; // unknown type + }; + } afb; + }; } trtp_rtcp_report_psfb_t; @@ -145,6 +145,7 @@ trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_create_2(trtp_rtcp_psfb_fci_type_ trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_create_pli(uint32_t ssrc_sender, uint32_t ssrc_media_src); trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_create_fir(uint8_t seq_num, uint32_t ssrc_sender, uint32_t ssrc_media_src); trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_create_afb_remb(uint32_t ssrc_sender, const uint32_t* ssrc_media_src_list, uint32_t ssrc_media_src_list_count, uint32_t bitrate/*in bps*/); +trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_create_afb_jcng(uint32_t ssrc_sender, const uint32_t* ssrc_media_src_list, uint32_t ssrc_media_src_list_count, float jcng_q/*in quality metric*/); trtp_rtcp_report_psfb_t* trtp_rtcp_report_psfb_deserialize(const void* data, tsk_size_t size); int trtp_rtcp_report_psfb_serialize_to(const trtp_rtcp_report_psfb_t* self, void* data, tsk_size_t size); tsk_size_t trtp_rtcp_report_psfb_get_size(const trtp_rtcp_report_psfb_t* self); diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_rr.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_rr.h index 2f25779..6a417d3 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_rr.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_rr.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -32,13 +32,12 @@ TRTP_BEGIN_DECLS #define TRTP_RTCP_REPORT_RR(self) ((trtp_rtcp_report_rr_t*)(self)) // RFC 3550 6.4.2 RR: Receiver Report RTCP Packet -typedef struct trtp_rtcp_report_rr_s -{ - TRTP_DECLARE_RTCP_PACKET; - - uint32_t ssrc; - trtp_rtcp_rblocks_L_t* blocks; - trtp_rtcp_packets_L_t* packets; +typedef struct trtp_rtcp_report_rr_s { + TRTP_DECLARE_RTCP_PACKET; + + uint32_t ssrc; + trtp_rtcp_rblocks_L_t* blocks; + trtp_rtcp_packets_L_t* packets; } trtp_rtcp_report_rr_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sdes.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sdes.h index 04efb5c..b8df1e5 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sdes.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sdes.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -32,10 +32,9 @@ TRTP_BEGIN_DECLS #define TRTP_RTCP_REPORT_SDES(self) ((trtp_rtcp_report_sdes_t*)(self)) /* RFC 3550 6.5 SDES: Source Description RTCP Packet */ -typedef struct trtp_rtcp_report_sdes_s -{ - TRTP_DECLARE_RTCP_PACKET; - trtp_rtcp_sdes_chuncks_L_t* chuncks; +typedef struct trtp_rtcp_report_sdes_s { + TRTP_DECLARE_RTCP_PACKET; + trtp_rtcp_sdes_chuncks_L_t* chuncks; } trtp_rtcp_report_sdes_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sr.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sr.h index 09d442f..73de26e 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sr.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_sr.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -32,21 +32,20 @@ TRTP_BEGIN_DECLS #define TRTP_RTCP_REPORT_SR(self) ((trtp_rtcp_report_sr_t*)(self)) // RFC 3550 6.4.1 SR: Sender Report RTCP Packet -typedef struct trtp_rtcp_report_sr_s -{ - TRTP_DECLARE_RTCP_PACKET; - - uint32_t ssrc; - struct{ - uint32_t ntp_msw; /**< NTP timestamp, most significant word */ - uint32_t ntp_lsw; /**< NTP timestamp, least significant word */ - uint32_t rtp_timestamp;/**< RTP timestamp */ - uint32_t sender_pcount; /**< sender's packet count */ - uint32_t sender_ocount; /**< sender's octet count */ - } sender_info; - - trtp_rtcp_rblocks_L_t* blocks; - trtp_rtcp_packets_L_t* packets; +typedef struct trtp_rtcp_report_sr_s { + TRTP_DECLARE_RTCP_PACKET; + + uint32_t ssrc; + struct { + uint32_t ntp_msw; /**< NTP timestamp, most significant word */ + uint32_t ntp_lsw; /**< NTP timestamp, least significant word */ + uint32_t rtp_timestamp;/**< RTP timestamp */ + uint32_t sender_pcount; /**< sender's packet count */ + uint32_t sender_ocount; /**< sender's octet count */ + } sender_info; + + trtp_rtcp_rblocks_L_t* blocks; + trtp_rtcp_packets_L_t* packets; } trtp_rtcp_report_sr_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_xr.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_xr.h index b08e096..dda4dcc 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_xr.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_report_xr.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_chunck.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_chunck.h index ec3a8d8..bf47f53 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_chunck.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_chunck.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -33,12 +33,11 @@ TRTP_BEGIN_DECLS -typedef struct trtp_rtcp_sdes_chunck_s -{ - TSK_DECLARE_OBJECT; +typedef struct trtp_rtcp_sdes_chunck_s { + TSK_DECLARE_OBJECT; - uint32_t ssrc; - trtp_rtcp_sdes_items_L_t* items; + uint32_t ssrc; + trtp_rtcp_sdes_items_L_t* items; } trtp_rtcp_sdes_chunck_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_item.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_item.h index 8356a74..f485e24 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_item.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_sdes_item.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -34,26 +34,24 @@ TRTP_BEGIN_DECLS // RFC 3550 12.2 SDES Types -typedef enum trtp_rtcp_sdes_item_type_e -{ - trtp_rtcp_sdes_item_type_end = 0, /**< end of SDES list */ - trtp_rtcp_sdes_item_type_cname = 1, /**< canonical name*/ - trtp_rtcp_sdes_item_type_name = 2, /**< user name */ - trtp_rtcp_sdes_item_type_email = 3, /**< user's electronic mail address*/ - trtp_rtcp_sdes_item_type_phone = 4, /**< user's phone number */ - trtp_rtcp_sdes_item_type_loc = 5, /**< geographic user location*/ - trtp_rtcp_sdes_item_type_tool = 6, /**< name of application or tool*/ - trtp_rtcp_sdes_item_type_note = 7, /**< notice about the source*/ - trtp_rtcp_sdes_item_type_priv = 8, /**< private extensions*/ +typedef enum trtp_rtcp_sdes_item_type_e { + trtp_rtcp_sdes_item_type_end = 0, /**< end of SDES list */ + trtp_rtcp_sdes_item_type_cname = 1, /**< canonical name*/ + trtp_rtcp_sdes_item_type_name = 2, /**< user name */ + trtp_rtcp_sdes_item_type_email = 3, /**< user's electronic mail address*/ + trtp_rtcp_sdes_item_type_phone = 4, /**< user's phone number */ + trtp_rtcp_sdes_item_type_loc = 5, /**< geographic user location*/ + trtp_rtcp_sdes_item_type_tool = 6, /**< name of application or tool*/ + trtp_rtcp_sdes_item_type_note = 7, /**< notice about the source*/ + trtp_rtcp_sdes_item_type_priv = 8, /**< private extensions*/ } trtp_rtcp_sdes_item_type_t; -typedef struct trtp_rtcp_sdes_item_s -{ - TSK_DECLARE_OBJECT; +typedef struct trtp_rtcp_sdes_item_s { + TSK_DECLARE_OBJECT; - trtp_rtcp_sdes_item_type_t type; - tsk_buffer_t *data; + trtp_rtcp_sdes_item_type_t type; + tsk_buffer_t *data; } trtp_rtcp_sdes_item_t; diff --git a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h index 34ddbbc..4ea08e0 100755 --- a/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h +++ b/tinyRTP/include/tinyrtp/rtcp/trtp_rtcp_session.h @@ -2,19 +2,19 @@ * Copyright (C) 2012 Doubango Telecom <http://www.doubango.org> * * Contact: Mamadou Diop <diopmamadou(at)doubango.org> -* +* * This file is part of Open Source Doubango Framework. * * DOUBANGO is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. -* +* * DOUBANGO is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. -* +* * You should have received a copy of the GNU General Public License * along with DOUBANGO. * @@ -51,7 +51,7 @@ int trtp_rtcp_session_set_callback(struct trtp_rtcp_session_s* self, trtp_rtcp_c #if HAVE_SRTP int trtp_rtcp_session_set_srtp_sess(struct trtp_rtcp_session_s* self, const srtp_t* session); #endif -int trtp_rtcp_session_set_app_bandwidth_max(struct trtp_rtcp_session_s* self, int32_t bw_upload_kbps, int32_t bw_download_kbps); +int trtp_rtcp_session_set_app_bw_and_jcng(struct trtp_rtcp_session_s* self, int32_t bw_upload_kbps, int32_t bw_download_kbps, float jcng_q); int trtp_rtcp_session_start(struct trtp_rtcp_session_s* self, tnet_fd_t local_fd, const struct sockaddr* remote_addr); int trtp_rtcp_session_stop(struct trtp_rtcp_session_s* self); int trtp_rtcp_session_process_rtp_out(struct trtp_rtcp_session_s* self, const struct trtp_rtp_packet_s* packet_rtp, tsk_size_t size); |