[Motorola-private-e680] [protocol-dev] CR-client:stop sending RTCPleads to server timeout (moto ezx)
Eric Hyche ehyche at real.comThis looks good. Please check into HEAD and hxclient_3_1_0_atlas branches. Eric ============================================= Eric Hyche (ehyche at real.com) Technical Lead RealNetworks, Inc. > -----Original Message----- > From: motorola-private-e680-bounces at helixcommunity.org > [mailto:motorola-private-e680-bounces at helixcommunity.org] On > Behalf Of Zhao Liang-E3423C > Sent: Thursday, August 23, 2007 3:14 AM > To: protocol-dev at helixcommunity.org > Cc: motorola-private-e680 at helixcommunity.org > Subject: [Motorola-private-e680] [protocol-dev] > CR-client:stop sending RTCPleads to server timeout (moto ezx) > > > "Motorola submits this code under the terms of a commercial > contribution agreement with RealNetworks, and I am authorized to > contribute this code under said agreement." > > Modified by: e3423c at motorola.com > Reviewed by: > Date: 14-Aug-2007 > > Project: moto ezx > TSW: TBD > > Synopsis: stop sending RTCP leads to server timeout > > Overview: > When RTSP server (Server: ISM/2.1.4FCS0) send a SDP with RR=0 > only just > looks like below, Helix will stop send RTCP message to > server! This will > lead to server timeout after some time. > > Example: > o=- 3393051905 3393051905 IN IP4 0.0.0.0 s=sunrise Live TV > e=webmaster at kaufcom.ch c=IN IP4 0.0.0.0 b=RR:0 > t=3393051838 3393051958 > a=control:* > m=video 0 RTP/AVP 96 > b=AS:48 > a=rtpmap:96 H263-2000/90000 > a=cliprect:0,0,144,176 > a=control:trackID=8 > m=audio 0 RTP/AVP 97 > b=AS:12 > a=rtpmap:97 AMR/8000 > a=fmtp:97 octet-align=1 > a=control:trackID=12 > > We found helix will stop RTCP message from below code: > Rtptran.cpp addStreamInfo(). > ...... > Else if(ulRRBitRate == 0) > { > //We have been told not > //to send RTCP report > M_bSendRTCP = FALSE; > } > > But from RTCP document, only both RR=0 and RS=0 meanings no RTCP is > needed. > So we suggest change code as below: > > In the file protocol\transport\rtp/rtptran.cpp, > > @@ -2983,7 +2983,7 @@ > ulRRBitRate = ((ulAvgBitRate / 80) * 3 + > ((ulAvgBitRate % 80) * 3) / 80); // 3.75% > } > - else if (ulRRBitRate == 0) > + else if ((ulRRBitRate == 0) && (ulRSBitRate == 0)) > { > // We have been told not > // to send RTCP reports > > This CR proposes to fix the bug stated above. > > Files Modified: > > protocol\transport\rtp/rtptran.cpp > > ====================================================== > Image Size and Heap Use impact: minor > Module Release testing (STIF) : Passed > Test case(s) Added : None > Memory leak check performed : Yes. No new leaks introduced. > Platforms and Profiles Build Verified: helix-client-mobile-ezx > Platforms and Profiles Functionality verified: arm11 > > Branch: > > > > Best Regards > Zhao Liang > Tel:86-10-65646158 >