Ignore:
Timestamp:
Sep 20, 2007 1:19:03 PM (17 years ago)
Author:
bennylp
Message:

Ticket #13: Send RTCP RR if stream is not transmitting any RTP packets

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/branches/pjproject-0.5-stable/pjmedia/include/pjmedia/rtcp.h

    r974 r1447  
    5959struct pjmedia_rtcp_sr 
    6060{ 
    61     pj_uint32_t     ssrc;           /**< SSRC identification.           */ 
    6261    pj_uint32_t     ntp_sec;        /**< NTP time, seconds part.        */ 
    6362    pj_uint32_t     ntp_frac;       /**< NTP time, fractions part.      */ 
     
    118117#endif 
    119118    unsigned        length:16;  /**< packet length          */ 
     119    pj_uint32_t     ssrc;       /**< SSRC identification    */ 
    120120}; 
    121121 
     
    130130 * manually by application. 
    131131 */ 
    132 struct pjmedia_rtcp_pkt 
     132typedef struct pjmedia_rtcp_sr_pkt 
    133133{ 
    134134    pjmedia_rtcp_common  common;        /**< Common header.         */ 
    135135    pjmedia_rtcp_sr      sr;            /**< Sender report.         */ 
    136136    pjmedia_rtcp_rr      rr;            /**< variable-length list   */ 
    137 }; 
    138  
    139 /** 
    140  * @see pjmedia_rtcp_pkt 
    141  */ 
    142 typedef struct pjmedia_rtcp_pkt pjmedia_rtcp_pkt; 
     137} pjmedia_rtcp_sr_pkt; 
     138 
     139/** 
     140 * This structure declares RTCP RR (Receiver Report) packet. 
     141 */ 
     142typedef struct pjmedia_rtcp_rr_pkt 
     143{ 
     144    pjmedia_rtcp_common  common;        /**< Common header.         */ 
     145    pjmedia_rtcp_rr      rr;            /**< variable-length list   */ 
     146} pjmedia_rtcp_rr_pkt; 
    143147 
    144148 
     
    251255{ 
    252256    char                   *name;       /**< Name identification.           */ 
    253     pjmedia_rtcp_pkt        rtcp_pkt;   /**< Cached RTCP packet.            */ 
     257    pjmedia_rtcp_sr_pkt     rtcp_sr_pkt;/**< Cached RTCP packet.            */ 
     258    pjmedia_rtcp_rr_pkt     rtcp_rr_pkt;/**< Cached RTCP RR packet.         */ 
    254259     
    255260    pjmedia_rtp_seq_session seq_ctrl;   /**< RTCP sequence number control.  */ 
     
    310315 * @return                  PJ_SUCCESS on success. 
    311316 */ 
    312 PJ_DEF(pj_status_t) pjmedia_rtcp_get_ntp_time(const pjmedia_rtcp_session *sess, 
    313                                               pjmedia_rtcp_ntp_rec *ntp); 
     317PJ_DECL(pj_status_t) pjmedia_rtcp_get_ntp_time(const pjmedia_rtcp_session *sess, 
     318                                               pjmedia_rtcp_ntp_rec *ntp); 
    314319 
    315320 
     
    364369 
    365370/** 
    366  * Build a RTCP SR+RR packet to be transmitted to remote RTP peer. 
     371 * Build a RTCP packet to be transmitted to remote RTP peer. This will 
     372 * create RTCP Sender Report (SR) or Receiver Report (RR) depending on 
     373 * whether the endpoint has been transmitting RTP since the last interval. 
    367374 * Note that this function will reset the interval counters (such as 
    368375 * the ones to calculate fraction lost) in the session. 
     
    370377 * @param session   The RTCP session. 
    371378 * @param rtcp_pkt  Upon return, it will contain pointer to the  
    372  *                  RTCP packet. 
     379 *                  RTCP packet, which can be RTCP SR or RR. 
    373380 * @param len       Upon return, it will indicate the size of  
    374381 *                  the RTCP packet. 
    375382 */ 
    376383PJ_DECL(void) pjmedia_rtcp_build_rtcp( pjmedia_rtcp_session *session,  
    377                                        pjmedia_rtcp_pkt **rtcp_pkt,  
    378                                        int *len); 
     384                                       void **rtcp_pkt, int *len); 
    379385 
    380386 
Note: See TracChangeset for help on using the changeset viewer.