|
List Info
Thread: CR: Disable server side rate adaptation from client for helix servers
|
|
| CR: Disable server side rate adaptation
from client for helix servers |

|
2008-05-01 12:23:07 |
|
Also, please advice if it is required for 310CayS.
"Nokia 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: rajesh.rathinasamy nokia.com
Reviewed by:
Date: 01-May-2008
Project: SymbianMmf_rel
ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
Synopsis: CR: Disable server side rate adaptation from client for helix servers
While streaming rate adaptation content from helix servers, packets are being dropped at the client transport buffer resulting in bad video quality.
The server seems to be sending buffers more than what client had reserved for.
Disabling the rate adaptation as the servers (version less than 11.1.9) with this problem is already in the market.
Root Cause of the problem: Implementation
Files Modified:
===========
protocolrtsprtspclnt.cpp
protocolrtsprateadaptinfo.cpp
Image Size and Heap Use impact: no major impact
Module Release testing (STIF) : Passed. (Streaming)
Test case(s) Added : No.
Memory leak check performed : Yes, no new leaks introduced
Platforms and Profiles Build Verified: helix-client-s60-32-mmf-mdf-arm
Platforms and Profiles Functionality verified: armv5, winscw
Branch: 221Cays, 210CayS, Head
Index: rateadaptinfo.cpp
===================================================================
RCS file: /cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
retrieving revision 1.12.8.6
diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
--- rateadaptinfo.cpp 13 Nov 2007 21:39:38 -0000 1.12.8.6
+++ rateadaptinfo.cpp 1 May 2008 15:30:25 -0000
 -479,8 +479,8 
ulReportFreq = 1;
hdrType = ahtHelix;
}
- else if (HXR_OK == pHdr->GetPropertyULONG32("3GPP-Adaptation-Support",
- ulReportFreq))
+ else if ( (HXR_OK == pHdr->GetPropertyULONG32("3GPP-Adaptation-Support",
+ ulReportFreq)) && (ulReportFreq == 1))
{
hdrType = aht3GPP;
}
Index: rtspclnt.cpp
===================================================================
RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
retrieving revision 1.182.2.25.2.2
diff -w -u -b -r1.182.2.25.2.2 rtspclnt.cpp
--- rtspclnt.cpp 21 Apr 2008 18:41:01 -0000 1.182.2.25.2.2
+++ rtspclnt.cpp 1 May 2008 15:30:26 -0000
 -10644,21 +10644,29 
if (m_pRateAdaptInfo)
{
UINT32 ulHelixAdaptation = 0;
- UINT32 ulVersionTarget = HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
+ UINT32 ul3GPPRateAdaptation = 0;
+ UINT32 ulVersionTarget = HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
//
- // due to a bug in released Helix Server, the client needs to disable "Helix-Adaption"
- // if the server version < 11.1.0.0
+ // due to a bug in released Helix Server, the client needs to disable Server Side Rate Adaption"
+ // if the server version < 11.1.9.0
//
- // see https://bugs.helixcommunity.org/show_bug.cgi?id=4989 for details
+ // Problems:
+ // * see https://bugs.helixcommunity.org/show_bug.cgi?id=4989 for details
+ // * Transport buffer overflow problem. Server oversends data resulting in
+ // client buffer overflow.
//
- if ((m_ulServerVersion < ulVersionTarget) &&
- HXR_OK == ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptation-Support",
- ulHelixAdaptation) &&
- (1 == ulHelixAdaptation))
+ //
+
+ if(IsRealServer() && (m_ulServerVersion < ulVersionTarget) )
{
+ HXLOGL2(HXLOG_RTSP, "RTSPClientProtocol[%p]::ParseSDP() Disabling RateAdaptation", this);
+
+ // switch off both rate adaptation
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptation-Support", 0);
- }
+ ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptation-Support", 0);
+
+ } // End of if(IsRealServer() && (m_ulServerVersion < ulVersionTarget) )
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
ppRealHeaders[i]);
|
| RE: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 12:26:13 |
|
| Sorry, misspelled the branch name (310
Atlas).
-
Rajesh.
Also, please advice if it is required for
310CayS.
"Nokia 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: rajesh.rathinasamy nokia.com
Reviewed by:
Date: 01-May-2008
Project: SymbianMmf_rel
ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
Synopsis: CR: Disable server side rate
adaptation from client for helix servers
While streaming rate adaptation content from
helix servers, packets are being dropped at the client transport buffer
resulting in bad video quality.
The server seems to be sending buffers more
than what client had reserved for.
Disabling the rate adaptation as the
servers (version less than 11.1.9) with this problem is already in the
market. Root Cause of the problem: Implementation Files Modified:
=========== protocolrtsprtspclnt.cpp protocolrtsprateadaptinfo.cpp
Image Size and Heap Use impact: no major
impact
Module Release testing (STIF) : Passed.
(Streaming)
Test case(s) Added : No.
Memory leak check performed : Yes, no new leaks
introduced
Platforms and Profiles Build Verified:
helix-client-s60-32-mmf-mdf-arm
Platforms and Profiles Functionality verified:
armv5, winscw
Branch: 221Cays, 210CayS, Head
Index: rateadaptinfo.cpp ===================================================================
RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v retrieving revision 1.12.8.6 diff -w
-u -b -r1.12.8.6 rateadaptinfo.cpp ---
rateadaptinfo.cpp 13 Nov 2007 21:39:38
-0000 1.12.8.6 +++ rateadaptinfo.cpp 1 May 2008 15:30:25 -0000
 -479,8 +479,8 
ulReportFreq = 1;
hdrType = ahtHelix; } - else if (HXR_OK
== pHdr->GetPropertyULONG32("3GPP-Adaptation-Support", -
ulReportFreq)) + else if ( (HXR_OK ==
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support", +
ulReportFreq)) && (ulReportFreq == 1)) {
hdrType = aht3GPP; } Index: rtspclnt.cpp ===================================================================
RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v retrieving revision 1.182.2.25.2.2 diff -w -u -b -r1.182.2.25.2.2 rtspclnt.cpp --- rtspclnt.cpp 21 Apr 2008
18:41:01 -0000 1.182.2.25.2.2 +++ rtspclnt.cpp 1
May 2008 15:30:26 -0000
 -10644,21
+10644,29 
if (m_pRateAdaptInfo)
{
UINT32 ulHelixAdaptation = 0; -
UINT32 ulVersionTarget = HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
+
UINT32 ul3GPPRateAdaptation = 0; +
UINT32 ulVersionTarget = HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
// -
// due to a bug in released Helix Server, the client needs to disable
"Helix-Adaption" -
// if the server version < 11.1.0.0 +
// due to a bug in released Helix Server, the client needs to disable Server
Side Rate Adaption" +
// if the server version < 11.1.9.0
// -
// see https://bugs.helixcommunity.org/show_bug.cgi?id=4989 for details +
// Problems: +
// * see https://bugs.helixcommunity.org/show_bug.cgi?id=4989 for details +
// * Transport buffer overflow problem. Server oversends data resulting
in +
// client buffer overflow.
// -
if ((m_ulServerVersion < ulVersionTarget) && -
HXR_OK ==
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptation-Support",
-
ulHelixAdaptation) && -
(1 == ulHelixAdaptation)) +
// + +
if(IsRealServer() && (m_ulServerVersion < ulVersionTarget) )
{ +
HXLOGL2(HXLOG_RTSP, "RTSPClientProtocol[%p]::ParseSDP() Disabling
RateAdaptation", this); + +
// switch off both rate adaptation
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptation-Support", 0);
-
} +
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptation-Support", 0);
+ +
} // End of if(IsRealServer() && (m_ulServerVersion <
ulVersionTarget) )
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
ppRealHeaders[i]); |
| RE: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 12:59:39 |
This looks good to me, assuming that we can
rely on the fact that on a RealServer/HelixServer,
a s->c RealChallenge will be issued with the OPTIONS
response. I believe this is a safe assumption.
Jamie: is this correct?
This is because the IsRealServer() function determines
whether or not a server is a HelixServer/RealServer
by whether or not a RealChallenge has been issued.
And we are calling IsRealServer() in ParseSDP(),
which would be during the DESCRIBE response.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: protocol-dev-bounces helixcommunity.org
> [mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of
> rajesh.rathinasamy nokia.com
> Sent: Thursday, May 01, 2008 1:23 PM
> To: protocol-dev helixcommunity.org
> Subject: [Protocol-dev] CR: Disable server side rate
> adaptation from clientfor helix servers
>
>
> Also, please advice if it is required for 310CayS.
>
>
> "Nokia 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: rajesh.rathinasamy nokia.com
>
> Reviewed by:
>
> Date: 01-May-2008
>
> Project: SymbianMmf_rel
>
> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
>
> Synopsis: CR: Disable server side rate adaptation from
client
> for helix servers
>
> While streaming rate adaptation content from helix
servers,
> packets are being dropped at the client transport
buffer
> resulting in bad video quality.
>
> The server seems to be sending buffers more than what
> client had reserved for.
>
> Disabling the rate adaptation as the servers (version
less
> than 11.1.9) with this problem is already in the
market.
>
> Root Cause of the problem: Implementation
>
> Files Modified:
> ===========
> protocolrtsprtspclnt.cpp
> protocolrtsprateadaptinfo.cpp
>
> Image Size and Heap Use impact: no major impact
>
> Module Release testing (STIF) : Passed. (Streaming)
>
> Test case(s) Added : No.
>
> Memory leak check performed : Yes, no new leaks
introduced
>
> Platforms and Profiles Build Verified:
> helix-client-s60-32-mmf-mdf-arm
>
> Platforms and Profiles Functionality verified: armv5,
winscw
>
> Branch: 221Cays, 210CayS, Head
>
>
>
> Index: rateadaptinfo.cpp
>
============================================================
=======
> RCS file: /cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
> retrieving revision 1.12.8.6
> diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
> --- rateadaptinfo.cpp 13 Nov 2007 21:39:38 -0000
1.12.8.6
> +++ rateadaptinfo.cpp 1 May 2008 15:30:25 -0000
>  -479,8 +479,8 
> ulReportFreq = 1;
> hdrType = ahtHelix;
> }
> - else if (HXR_OK ==
>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> -
ulReportFreq))
> + else if ( (HXR_OK ==
>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> +
> ulReportFreq)) && (ulReportFreq == 1))
> {
> hdrType = aht3GPP;
> }
> Index: rtspclnt.cpp
>
============================================================
=======
> RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
> retrieving revision 1.182.2.25.2.2
> diff -w -u -b -r1.182.2.25.2.2 rtspclnt.cpp
> --- rtspclnt.cpp 21 Apr 2008 18:41:01 -0000
> 1.182.2.25.2.2
> +++ rtspclnt.cpp 1 May 2008 15:30:26 -0000
>  -10644,21 +10644,29 
> if (m_pRateAdaptInfo)
> {
> UINT32 ulHelixAdaptation = 0;
> - UINT32 ulVersionTarget =
> HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
> + UINT32 ul3GPPRateAdaptation = 0;
> + UINT32 ulVersionTarget =
> HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
>
> //
> - // due to a bug in released Helix
Server, the
> client needs to disable "Helix-Adaption"
> - // if the server version < 11.1.0.0
> + // due to a bug in released Helix
Server,
> the client needs to disable Server Side Rate
Adaption"
> + // if the server version < 11.1.9.0
> //
> - // see
>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
> + // Problems:
> + // * see
>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
> + // * Transport buffer overflow
problem.
> Server oversends data resulting in
> + // client buffer overflow.
> //
> - if ((m_ulServerVersion <
ulVersionTarget) &&
> - HXR_OK ==
>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
> -
> ulHelixAdaptation) &&
> - (1 == ulHelixAdaptation))
> + //
> +
> + if(IsRealServer() &&
(m_ulServerVersion <
> ulVersionTarget) )
> {
> + HXLOGL2(HXLOG_RTSP,
> "RTSPClientProtocol[%p]::ParseSDP() Disabling
RateAdaptation", this);
> +
> + // switch off both rate adaptation
>
>
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
> - }
> +
>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
> +
> + } // End of if(IsRealServer()
&&
> (m_ulServerVersion < ulVersionTarget) )
>
>
>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
>
ppRealHeaders[i]);
>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| Re: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 13:15:05 |
Eric Hyche wrote:
> This looks good to me, assuming that we can
> rely on the fact that on a RealServer/HelixServer,
> a s->c RealChallenge will be issued with the
OPTIONS
> response. I believe this is a safe assumption.
> Jamie: is this correct?
>
yeah, that should be correct always.
A couple of things with this diff though:
- else if (HXR_OK ==
>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> -
ulReportFreq))
> + else if ( (HXR_OK ==
>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> +
> ulReportFreq)) && (ulReportFreq == 1))
> {
> hdrType = aht3GPP;
> }
This change is *not* correct. The report frequency is not a
boolean,
it is an integer frequency which can certainly have other
values
than '1'. If you need to check that it's set to a valid
value, the
check should be ulReportFreq != 0.
Also, my understanding is that the issue you are seeing is
specific
to helix-adaptation, not 3gpp-adaptation, so why disable
3gpp-
adaptation?
Thanks,
Jamie
> This is because the IsRealServer() function determines
> whether or not a server is a HelixServer/RealServer
> by whether or not a RealChallenge has been issued.
> And we are calling IsRealServer() in ParseSDP(),
> which would be during the DESCRIBE response.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
>> -----Original Message-----
>> From: protocol-dev-bounces helixcommunity.org
>> [mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of
>> rajesh.rathinasamy nokia.com
>> Sent: Thursday, May 01, 2008 1:23 PM
>> To: protocol-dev helixcommunity.org
>> Subject: [Protocol-dev] CR: Disable server side
rate
>> adaptation from clientfor helix servers
>>
>>
>> Also, please advice if it is required for 310CayS.
>>
>>
>> "Nokia 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: rajesh.rathinasamy nokia.com
>>
>> Reviewed by:
>>
>> Date: 01-May-2008
>>
>> Project: SymbianMmf_rel
>>
>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
>>
>> Synopsis: CR: Disable server side rate adaptation
from client
>> for helix servers
>>
>> While streaming rate adaptation content from
helix servers,
>> packets are being dropped at the client transport
buffer
>> resulting in bad video quality.
>>
>> The server seems to be sending buffers more than
what
>> client had reserved for.
>>
>> Disabling the rate adaptation as the servers
(version less
>> than 11.1.9) with this problem is already in the
market.
>>
>> Root Cause of the problem: Implementation
>>
>> Files Modified:
>> ===========
>> protocolrtsprtspclnt.cpp
>> protocolrtsprateadaptinfo.cpp
>>
>> Image Size and Heap Use impact: no major impact
>>
>> Module Release testing (STIF) : Passed.
(Streaming)
>>
>> Test case(s) Added : No.
>>
>> Memory leak check performed : Yes, no new leaks
introduced
>>
>> Platforms and Profiles Build Verified:
>> helix-client-s60-32-mmf-mdf-arm
>>
>> Platforms and Profiles Functionality verified:
armv5, winscw
>>
>> Branch: 221Cays, 210CayS, Head
>>
>>
>>
>> Index: rateadaptinfo.cpp
>>
============================================================
=======
>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
>> retrieving revision 1.12.8.6
>> diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
>> --- rateadaptinfo.cpp 13 Nov 2007 21:39:38 -0000
1.12.8.6
>> +++ rateadaptinfo.cpp 1 May 2008 15:30:25 -0000
>>  -479,8 +479,8 
>> ulReportFreq = 1;
>> hdrType = ahtHelix;
>> }
>> - else if (HXR_OK ==
>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> -
ulReportFreq))
>> + else if ( (HXR_OK ==
>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> +
>> ulReportFreq)) && (ulReportFreq == 1))
>> {
>> hdrType = aht3GPP;
>> }
>> Index: rtspclnt.cpp
>>
============================================================
=======
>> RCS file: /cvsroot/protocol/rtsp/rtspclnt.cpp,v
>> retrieving revision 1.182.2.25.2.2
>> diff -w -u -b -r1.182.2.25.2.2 rtspclnt.cpp
>> --- rtspclnt.cpp 21 Apr 2008 18:41:01 -0000
>> 1.182.2.25.2.2
>> +++ rtspclnt.cpp 1 May 2008 15:30:26 -0000
>>  -10644,21 +10644,29 
>> if (m_pRateAdaptInfo)
>> {
>> UINT32 ulHelixAdaptation = 0;
>> - UINT32 ulVersionTarget =
>> HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
>> + UINT32 ul3GPPRateAdaptation = 0;
>> + UINT32 ulVersionTarget =
>> HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
>>
>> //
>> - // due to a bug in released Helix
Server, the
>> client needs to disable "Helix-Adaption"
>> - // if the server version <
11.1.0.0
>> + // due to a bug in released Helix
Server,
>> the client needs to disable Server Side Rate
Adaption"
>> + // if the server version <
11.1.9.0
>> //
>> - // see
>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
>> + // Problems:
>> + // * see
>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
>> + // * Transport buffer overflow
problem.
>> Server oversends data resulting in
>> + // client buffer overflow.
>> //
>> - if ((m_ulServerVersion <
ulVersionTarget) &&
>> - HXR_OK ==
>>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
>> -
>> ulHelixAdaptation) &&
>> - (1 == ulHelixAdaptation))
>> + //
>> +
>> + if(IsRealServer() &&
(m_ulServerVersion <
>> ulVersionTarget) )
>> {
>> + HXLOGL2(HXLOG_RTSP,
>> "RTSPClientProtocol[%p]::ParseSDP() Disabling
RateAdaptation", this);
>> +
>> + // switch off both rate
adaptation
>>
>>
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
>> - }
>> +
>>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
>> +
>> + } // End of if(IsRealServer()
&&
>> (m_ulServerVersion < ulVersionTarget) )
>>
>>
>>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
>>
ppRealHeaders[i]);
>>
>>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 13:24:52 |
Jamie & Eric,
Thanks for your comments.
My comments inlined.
If no other concerns I will go ahead and check in the
changes.
- Rajesh.
>-----Original Message-----
>From: ext Jamie Gordon [mailto:jgordon real.com]
>Sent: Thursday, May 01, 2008 1:15 PM
>To: ehyche real.com
>Cc: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
>protocol-dev helixcommunity.org
>Subject: Re: [Protocol-dev] CR: Disable server side rate
>adaptation from clientfor helix servers
>
>Eric Hyche wrote:
>> This looks good to me, assuming that we can rely on
the fact
>that on a
>> RealServer/HelixServer, a s->c RealChallenge
will be issued with the
>> OPTIONS response. I believe this is a safe
assumption.
>> Jamie: is this correct?
>>
>yeah, that should be correct always.
>
>
>A couple of things with this diff though:
>
>- else if (HXR_OK ==
> >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > -
ulReportFreq))
> > + else if ( (HXR_OK ==
> >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > +
> > ulReportFreq)) && (ulReportFreq == 1))
> > {
> > hdrType = aht3GPP;
> > }
>
>This change is *not* correct. The report frequency is
not a
>boolean, it is an integer frequency which can certainly
have
>other values than '1'. If you need to check that it's
set to a
>valid value, the check should be ulReportFreq != 0.
<<Rajesh>> I will change this.
>
>Also, my understanding is that the issue you are seeing
is
>specific to helix-adaptation, not 3gpp-adaptation, so
why
>disable 3gpp- adaptation?
<<Rajesh>> Noticed buffer overlow with 3GPP
adaptation too.
>
>Thanks,
>Jamie
>
>> This is because the IsRealServer() function
determines
>whether or not
>> a server is a HelixServer/RealServer by whether or
not a
>RealChallenge
>> has been issued.
>> And we are calling IsRealServer() in ParseSDP(),
which would
>be during
>> the DESCRIBE response.
>>
>> Eric
>>
>> =============================================
>> Eric Hyche (ehyche real.com)
>> Technical Lead
>> RealNetworks, Inc.
>>
>>> -----Original Message-----
>>> From: protocol-dev-bounces helixcommunity.org
>>> [mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
>>> rajesh.rathinasamy nokia.com
>>> Sent: Thursday, May 01, 2008 1:23 PM
>>> To: protocol-dev helixcommunity.org
>>> Subject: [Protocol-dev] CR: Disable server side
rate
>adaptation from
>>> clientfor helix servers
>>>
>>>
>>> Also, please advice if it is required for
310CayS.
>>>
>>>
>>> "Nokia 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: rajesh.rathinasamy nokia.com
>>>
>>> Reviewed by:
>>>
>>> Date: 01-May-2008
>>>
>>> Project: SymbianMmf_rel
>>>
>>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
>>>
>>> Synopsis: CR: Disable server side rate
adaptation from client for
>>> helix servers
>>>
>>> While streaming rate adaptation content from
helix
>servers, packets
>>> are being dropped at the client transport
buffer resulting in bad
>>> video quality.
>>>
>>> The server seems to be sending buffers more
than what client had
>>> reserved for.
>>>
>>> Disabling the rate adaptation as the servers
(version less than
>>> 11.1.9) with this problem is already in the
market.
>>>
>>> Root Cause of the problem: Implementation
>>>
>>> Files Modified:
>>> ===========
>>> protocolrtsprtspclnt.cpp
>>> protocolrtsprateadaptinfo.cpp
>>>
>>> Image Size and Heap Use impact: no major
impact
>>>
>>> Module Release testing (STIF) : Passed.
(Streaming)
>>>
>>> Test case(s) Added : No.
>>>
>>> Memory leak check performed : Yes, no new leaks
introduced
>>>
>>> Platforms and Profiles Build Verified:
>>> helix-client-s60-32-mmf-mdf-arm
>>>
>>> Platforms and Profiles Functionality verified:
armv5, winscw
>>>
>>> Branch: 221Cays, 210CayS, Head
>>>
>>>
>>>
>>> Index: rateadaptinfo.cpp
>>>
============================================================
=======
>>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
>>> retrieving revision 1.12.8.6
>>> diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
>>> --- rateadaptinfo.cpp 13 Nov 2007 21:39:38
-0000 1.12.8.6
>>> +++ rateadaptinfo.cpp 1 May 2008 15:30:25
-0000
>>>  -479,8 +479,8 
>>> ulReportFreq = 1;
>>> hdrType = ahtHelix;
>>> }
>>> - else if (HXR_OK ==
>>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>>> -
ulReportFreq))
>>> + else if ( (HXR_OK ==
>>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>>> +
>>> ulReportFreq)) && (ulReportFreq == 1))
>>> {
>>> hdrType = aht3GPP;
>>> }
>>> Index: rtspclnt.cpp
>>>
============================================================
=======
>>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
>>> retrieving revision 1.182.2.25.2.2
>>> diff -w -u -b -r1.182.2.25.2.2 rtspclnt.cpp
>>> --- rtspclnt.cpp 21 Apr 2008 18:41:01
-0000
>>> 1.182.2.25.2.2
>>> +++ rtspclnt.cpp 1 May 2008 15:30:26
-0000
>>>  -10644,21 +10644,29 
>>> if (m_pRateAdaptInfo)
>>> {
>>> UINT32 ulHelixAdaptation = 0;
>>> - UINT32 ulVersionTarget =
>>> HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
>>> + UINT32 ul3GPPRateAdaptation =
0;
>>> + UINT32 ulVersionTarget =
>>> HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
>>>
>>> //
>>> - // due to a bug in released
Helix Server, the
>>> client needs to disable
"Helix-Adaption"
>>> - // if the server version <
11.1.0.0
>>> + // due to a bug in released
Helix Server,
>>> the client needs to disable Server Side Rate
Adaption"
>>> + // if the server version <
11.1.9.0
>>> //
>>> - // see
>>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
>>> + // Problems:
>>> + // * see
>>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
for details
>>> + // * Transport buffer overflow
problem.
>>> Server oversends data resulting in
>>> + // client buffer overflow.
>>> //
>>> - if ((m_ulServerVersion <
ulVersionTarget) &&
>>> - HXR_OK ==
>>>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
>>> -
>>> ulHelixAdaptation) &&
>>> - (1 == ulHelixAdaptation))
>>> + //
>>> +
>>> + if(IsRealServer() &&
(m_ulServerVersion <
>>> ulVersionTarget) )
>>> {
>>> + HXLOGL2(HXLOG_RTSP,
>>> "RTSPClientProtocol[%p]::ParseSDP()
Disabling
>RateAdaptation", this);
>>> +
>>> + // switch off both rate
adaptation
>>>
>>>
>ppRealHeaders[i]->SetPropertyULONG32("Helix-Adap
tation-Support", 0);
>>> - }
>>> +
>>>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
>>> +
>>> + } // End of if(IsRealServer()
&&
>>> (m_ulServerVersion < ulVersionTarget) )
>>>
>>>
>>>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
>>>
ppRealHeaders[i]);
>>>
>>>
>>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 14:51:27 |
I don't have any other concerns.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: rajesh.rathinasamy nokia.com
> [mailto:rajesh.rathinasamy nokia.com]
> Sent: Thursday, May 01, 2008 2:25 PM
> To: jgordon real.com; ehyche real.com
> Cc: protocol-dev helixcommunity.org
> Subject: RE: [Protocol-dev] CR: Disable server side
rate
> adaptation from clientfor helix servers
>
>
> Jamie & Eric,
> Thanks for your comments.
>
> My comments inlined.
>
> If no other concerns I will go ahead and check in the
changes.
>
> - Rajesh.
>
>
> >-----Original Message-----
> >From: ext Jamie Gordon [mailto:jgordon real.com]
> >Sent: Thursday, May 01, 2008 1:15 PM
> >To: ehyche real.com
> >Cc: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
> >protocol-dev helixcommunity.org
> >Subject: Re: [Protocol-dev] CR: Disable server side
rate
> >adaptation from clientfor helix servers
> >
> >Eric Hyche wrote:
> >> This looks good to me, assuming that we can
rely on the fact
> >that on a
> >> RealServer/HelixServer, a s->c
RealChallenge will be
> issued with the
> >> OPTIONS response. I believe this is a safe
assumption.
> >> Jamie: is this correct?
> >>
> >yeah, that should be correct always.
> >
> >
> >A couple of things with this diff though:
> >
> >- else if (HXR_OK ==
> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > -
> ulReportFreq))
> > > + else if ( (HXR_OK ==
> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > +
> > > ulReportFreq)) && (ulReportFreq ==
1))
> > > {
> > > hdrType = aht3GPP;
> > > }
> >
> >This change is *not* correct. The report frequency
is not a
> >boolean, it is an integer frequency which can
certainly have
> >other values than '1'. If you need to check that
it's set to a
> >valid value, the check should be ulReportFreq !=
0.
> <<Rajesh>> I will change this.
>
> >
> >Also, my understanding is that the issue you are
seeing is
> >specific to helix-adaptation, not 3gpp-adaptation,
so why
> >disable 3gpp- adaptation?
>
> <<Rajesh>> Noticed buffer overlow with 3GPP
adaptation too.
> >
> >Thanks,
> >Jamie
> >
> >> This is because the IsRealServer() function
determines
> >whether or not
> >> a server is a HelixServer/RealServer by
whether or not a
> >RealChallenge
> >> has been issued.
> >> And we are calling IsRealServer() in
ParseSDP(), which would
> >be during
> >> the DESCRIBE response.
> >>
> >> Eric
> >>
> >> =============================================
> >> Eric Hyche (ehyche real.com)
> >> Technical Lead
> >> RealNetworks, Inc.
> >>
> >>> -----Original Message-----
> >>> From: protocol-dev-bounces helixcommunity.org
> >>> [mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
> >>> rajesh.rathinasamy nokia.com
> >>> Sent: Thursday, May 01, 2008 1:23 PM
> >>> To: protocol-dev helixcommunity.org
> >>> Subject: [Protocol-dev] CR: Disable server
side rate
> >adaptation from
> >>> clientfor helix servers
> >>>
> >>>
> >>> Also, please advice if it is required for
310CayS.
> >>>
> >>>
> >>> "Nokia 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: rajesh.rathinasamy nokia.com
> >>>
> >>> Reviewed by:
> >>>
> >>> Date: 01-May-2008
> >>>
> >>> Project: SymbianMmf_rel
> >>>
> >>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
> >>>
> >>> Synopsis: CR: Disable server side rate
adaptation from client for
> >>> helix servers
> >>>
> >>> While streaming rate adaptation content
from helix
> >servers, packets
> >>> are being dropped at the client transport
buffer resulting in bad
> >>> video quality.
> >>>
> >>> The server seems to be sending buffers
more than what
> client had
> >>> reserved for.
> >>>
> >>> Disabling the rate adaptation as the
servers (version less than
> >>> 11.1.9) with this problem is already in
the market.
> >>>
> >>> Root Cause of the problem: Implementation
> >>>
> >>> Files Modified:
> >>> ===========
> >>> protocolrtsprtspclnt.cpp
> >>> protocolrtsprateadaptinfo.cpp
> >>>
> >>> Image Size and Heap Use impact: no major
impact
> >>>
> >>> Module Release testing (STIF) : Passed.
(Streaming)
> >>>
> >>> Test case(s) Added : No.
> >>>
> >>> Memory leak check performed : Yes, no new
leaks introduced
> >>>
> >>> Platforms and Profiles Build Verified:
> >>> helix-client-s60-32-mmf-mdf-arm
> >>>
> >>> Platforms and Profiles Functionality
verified: armv5, winscw
> >>>
> >>> Branch: 221Cays, 210CayS, Head
> >>>
> >>>
> >>>
> >>> Index: rateadaptinfo.cpp
> >>>
>
============================================================
=======
> >>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
> >>> retrieving revision 1.12.8.6
> >>> diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
> >>> --- rateadaptinfo.cpp 13 Nov 2007
21:39:38 -0000 1.12.8.6
> >>> +++ rateadaptinfo.cpp 1 May 2008
15:30:25 -0000
> >>>  -479,8 +479,8 
> >>> ulReportFreq = 1;
> >>> hdrType = ahtHelix;
> >>> }
> >>> - else if (HXR_OK ==
> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> >>> -
> ulReportFreq))
> >>> + else if ( (HXR_OK ==
> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> >>> +
> >>> ulReportFreq)) && (ulReportFreq ==
1))
> >>> {
> >>> hdrType = aht3GPP;
> >>> }
> >>> Index: rtspclnt.cpp
> >>>
>
============================================================
=======
> >>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
> >>> retrieving revision 1.182.2.25.2.2
> >>> diff -w -u -b -r1.182.2.25.2.2
rtspclnt.cpp
> >>> --- rtspclnt.cpp 21 Apr 2008
18:41:01 -0000
> >>> 1.182.2.25.2.2
> >>> +++ rtspclnt.cpp 1 May 2008
15:30:26 -0000
> >>>  -10644,21 +10644,29 
> >>> if (m_pRateAdaptInfo)
> >>> {
> >>> UINT32 ulHelixAdaptation =
0;
> >>> - UINT32 ulVersionTarget =
> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
> >>> + UINT32
ul3GPPRateAdaptation = 0;
> >>> + UINT32 ulVersionTarget =
> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
> >>>
> >>> //
> >>> - // due to a bug in
released Helix Server, the
> >>> client needs to disable
"Helix-Adaption"
> >>> - // if the server version
< 11.1.0.0
> >>> + // due to a bug in
released Helix Server,
> >>> the client needs to disable Server Side
Rate Adaption"
> >>> + // if the server version
< 11.1.9.0
> >>> //
> >>> - // see
> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
> for details
> >>> + // Problems:
> >>> + // * see
> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
> for details
> >>> + // * Transport buffer
overflow problem.
> >>> Server oversends data resulting in
> >>> + // client buffer
overflow.
> >>> //
> >>> - if ((m_ulServerVersion
< ulVersionTarget) &&
> >>> - HXR_OK ==
> >>>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
> >>> -
> >>> ulHelixAdaptation) &&
> >>> - (1 ==
ulHelixAdaptation))
> >>> + //
> >>> +
> >>> + if(IsRealServer()
&& (m_ulServerVersion <
> >>> ulVersionTarget) )
> >>> {
> >>> + HXLOGL2(HXLOG_RTSP,
> >>> "RTSPClientProtocol[%p]::ParseSDP()
Disabling
> >RateAdaptation", this);
> >>> +
> >>> + // switch off both
rate adaptation
> >>>
> >>>
>
>ppRealHeaders[i]->SetPropertyULONG32("Helix-Adap
tation-Support", 0);
> >>> - }
> >>> +
> >>>
>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
> >>> +
> >>> + } // End of
if(IsRealServer() &&
> >>> (m_ulServerVersion < ulVersionTarget)
)
> >>>
> >>>
> >>>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
> >>>
> ppRealHeaders[i]);
> >>>
> >>>
> >>
> >
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Disable server side rate
adaptation from clientfor helix servers |

|
2008-05-01 15:37:42 |
Thanks Eric & Jamie
The changes have been committed to 210Cays, 221Cays &
head.
- Rajesh.
>-----Original Message-----
>From: ext Eric Hyche [mailto:ehyche real.com]
>Sent: Thursday, May 01, 2008 2:51 PM
>To: Rathinasamy Rajesh (Nokia-D-MSW/Dallas); jgordon real.com
>Cc: protocol-dev helixcommunity.org
>Subject: RE: [Protocol-dev] CR: Disable server side rate
>adaptation from clientfor helix servers
>
>
>I don't have any other concerns.
>
>Eric
>
>=============================================
>Eric Hyche (ehyche real.com)
>Technical Lead
>RealNetworks, Inc.
>
>> -----Original Message-----
>> From: rajesh.rathinasamy nokia.com
>> [mailto:rajesh.rathinasamy nokia.com]
>> Sent: Thursday, May 01, 2008 2:25 PM
>> To: jgordon real.com; ehyche real.com
>> Cc: protocol-dev helixcommunity.org
>> Subject: RE: [Protocol-dev] CR: Disable server side
rate adaptation
>> from clientfor helix servers
>>
>>
>> Jamie & Eric,
>> Thanks for your comments.
>>
>> My comments inlined.
>>
>> If no other concerns I will go ahead and check in
the changes.
>>
>> - Rajesh.
>>
>>
>> >-----Original Message-----
>> >From: ext Jamie Gordon [mailto:jgordon real.com]
>> >Sent: Thursday, May 01, 2008 1:15 PM
>> >To: ehyche real.com
>> >Cc: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
>> >protocol-dev helixcommunity.org
>> >Subject: Re: [Protocol-dev] CR: Disable server
side rate adaptation
>> >from clientfor helix servers
>> >
>> >Eric Hyche wrote:
>> >> This looks good to me, assuming that we
can rely on the fact
>> >that on a
>> >> RealServer/HelixServer, a s->c
RealChallenge will be
>> issued with the
>> >> OPTIONS response. I believe this is a safe
assumption.
>> >> Jamie: is this correct?
>> >>
>> >yeah, that should be correct always.
>> >
>> >
>> >A couple of things with this diff though:
>> >
>> >- else if (HXR_OK ==
>> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> > > -
>> ulReportFreq))
>> > > + else if ( (HXR_OK ==
>> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> > > +
>> > > ulReportFreq)) && (ulReportFreq
== 1))
>> > > {
>> > > hdrType = aht3GPP;
>> > > }
>> >
>> >This change is *not* correct. The report
frequency is not a
>boolean,
>> >it is an integer frequency which can certainly
have other
>values than
>> >'1'. If you need to check that it's set to a
valid value, the check
>> >should be ulReportFreq != 0.
>> <<Rajesh>> I will change this.
>>
>> >
>> >Also, my understanding is that the issue you
are seeing is specific
>> >to helix-adaptation, not 3gpp-adaptation, so
why disable 3gpp-
>> >adaptation?
>>
>> <<Rajesh>> Noticed buffer overlow with
3GPP adaptation too.
>> >
>> >Thanks,
>> >Jamie
>> >
>> >> This is because the IsRealServer()
function determines
>> >whether or not
>> >> a server is a HelixServer/RealServer by
whether or not a
>> >RealChallenge
>> >> has been issued.
>> >> And we are calling IsRealServer() in
ParseSDP(), which would
>> >be during
>> >> the DESCRIBE response.
>> >>
>> >> Eric
>> >>
>> >>
=============================================
>> >> Eric Hyche (ehyche real.com)
>> >> Technical Lead
>> >> RealNetworks, Inc.
>> >>
>> >>> -----Original Message-----
>> >>> From: protocol-dev-bounces helixcommunity.org
>> >>> [mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
>> >>> rajesh.rathinasamy nokia.com
>> >>> Sent: Thursday, May 01, 2008 1:23 PM
>> >>> To: protocol-dev helixcommunity.org
>> >>> Subject: [Protocol-dev] CR: Disable
server side rate
>> >adaptation from
>> >>> clientfor helix servers
>> >>>
>> >>>
>> >>> Also, please advice if it is required
for 310CayS.
>> >>>
>> >>>
>> >>> "Nokia 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: rajesh.rathinasamy nokia.com
>> >>>
>> >>> Reviewed by:
>> >>>
>> >>> Date: 01-May-2008
>> >>>
>> >>> Project: SymbianMmf_rel
>> >>>
>> >>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
>> >>>
>> >>> Synopsis: CR: Disable server side rate
adaptation from
>client for
>> >>> helix servers
>> >>>
>> >>> While streaming rate adaptation
content from helix
>> >servers, packets
>> >>> are being dropped at the client
transport buffer
>resulting in bad
>> >>> video quality.
>> >>>
>> >>> The server seems to be sending
buffers more than what
>> client had
>> >>> reserved for.
>> >>>
>> >>> Disabling the rate adaptation as the
servers (version less than
>> >>> 11.1.9) with this problem is already
in the market.
>> >>>
>> >>> Root Cause of the problem:
Implementation
>> >>>
>> >>> Files Modified:
>> >>> ===========
>> >>> protocolrtsprtspclnt.cpp
>> >>> protocolrtsprateadaptinfo.cpp
>> >>>
>> >>> Image Size and Heap Use impact: no
major impact
>> >>>
>> >>> Module Release testing (STIF) :
Passed. (Streaming)
>> >>>
>> >>> Test case(s) Added : No.
>> >>>
>> >>> Memory leak check performed : Yes, no
new leaks introduced
>> >>>
>> >>> Platforms and Profiles Build Verified:
>> >>> helix-client-s60-32-mmf-mdf-arm
>> >>>
>> >>> Platforms and Profiles Functionality
verified: armv5, winscw
>> >>>
>> >>> Branch: 221Cays, 210CayS, Head
>> >>>
>> >>>
>> >>>
>> >>> Index: rateadaptinfo.cpp
>> >>>
>>
============================================================
=======
>> >>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
>> >>> retrieving revision 1.12.8.6
>> >>> diff -w -u -b -r1.12.8.6
rateadaptinfo.cpp
>> >>> --- rateadaptinfo.cpp 13 Nov 2007
21:39:38 -0000 1.12.8.6
>> >>> +++ rateadaptinfo.cpp 1 May 2008
15:30:25 -0000
>> >>>  -479,8 +479,8 
>> >>> ulReportFreq = 1;
>> >>> hdrType = ahtHelix;
>> >>> }
>> >>> - else if (HXR_OK ==
>> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> >>> -
>> ulReportFreq))
>> >>> + else if ( (HXR_OK ==
>> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
>> >>> +
>> >>> ulReportFreq)) &&
(ulReportFreq == 1))
>> >>> {
>> >>> hdrType = aht3GPP;
>> >>> }
>> >>> Index: rtspclnt.cpp
>> >>>
>>
============================================================
=======
>> >>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
>> >>> retrieving revision 1.182.2.25.2.2
diff -w -u -b
>-r1.182.2.25.2.2
>> >>> rtspclnt.cpp
>> >>> --- rtspclnt.cpp 21 Apr 2008
18:41:01 -0000
>> >>> 1.182.2.25.2.2
>> >>> +++ rtspclnt.cpp 1 May 2008
15:30:26 -0000
>> >>>  -10644,21 +10644,29 
>> >>> if (m_pRateAdaptInfo)
>> >>> {
>> >>> UINT32
ulHelixAdaptation = 0;
>> >>> - UINT32 ulVersionTarget
=
>> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 0L,
0L);
>> >>> + UINT32
ul3GPPRateAdaptation = 0;
>> >>> + UINT32
ulVersionTarget =
>> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 9L,
0L);
>> >>>
>> >>> //
>> >>> - // due to a bug in
released Helix Server, the
>> >>> client needs to disable
"Helix-Adaption"
>> >>> - // if the server
version < 11.1.0.0
>> >>> + // due to a bug in
released Helix Server,
>> >>> the client needs to disable Server
Side Rate Adaption"
>> >>> + // if the server
version < 11.1.9.0
>> >>> //
>> >>> - // see
>> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
>> for details
>> >>> + // Problems:
>> >>> + // * see
>> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
>> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
>> for details
>> >>> + // * Transport buffer
overflow problem.
>> >>> Server oversends data resulting in
>> >>> + // client buffer
overflow.
>> >>> //
>> >>> - if ((m_ulServerVersion
< ulVersionTarget) &&
>> >>> - HXR_OK ==
>> >>>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
>> >>> -
>> >>> ulHelixAdaptation) &&
>> >>> - (1 ==
ulHelixAdaptation))
>> >>> + //
>> >>> +
>> >>> + if(IsRealServer()
&& (m_ulServerVersion <
>> >>> ulVersionTarget) )
>> >>> {
>> >>> +
HXLOGL2(HXLOG_RTSP,
>> >>>
"RTSPClientProtocol[%p]::ParseSDP() Disabling
>> >RateAdaptation", this);
>> >>> +
>> >>> + // switch off
both rate adaptation
>> >>>
>> >>>
>>
>ppRealHeaders[i]->SetPropertyULONG32("Helix-Adap
tation-Support", 0);
>> >>> - }
>> >>> +
>> >>>
>>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
>> >>> +
>> >>> + } // End of
if(IsRealServer() &&
>> >>> (m_ulServerVersion <
ulVersionTarget) )
>> >>>
>> >>>
>> >>>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
>> >>>
>> ppRealHeaders[i]);
>> >>>
>> >>>
>> >>
>> >
>>
>
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
| RE: CR: Disable server side rate
adaptation fromclientfor helix servers |

|
2008-06-05 18:52:22 |
Hi,
In reference to this fix, there has been a recent discovery
of a crash when
streaming is initiated directly from an SDP file because of
a call made to
IsRealServer()inside ParseSDP():
if(IsRealServer() && (m_ulServerVersion <
ulVersionTarget) )
{
// switch off both rate adaptation
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
}
The cause of the problem is that the m_pSession pointer is
being
de-referenced when NULL inside the function:
RTSPClientProtocolExt::IsRealServer(void)
{
// If we did not get a RealChallenge1, this is not a
RealServer,
// so use rtp to inter-operate.
if (!m_pSession->m_bChallengeDone &&
!((HXRTSPClientSession*)m_pSession)->m_pRealChallenge)
{
return RTSPClientProtocol::IsRealServer();
}
return TRUE;
}
In order to solve the crash problem the following changes
have been made:
if (!m_bSDPInitiated)
{
if(IsRealServer() && (m_ulServerVersion <
ulVersionTarget) )
{
// switch off both rate adaptation
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
}
}
However, the same logic of disabling rate adaptation should
also be
applicable for SDP initiated case at a later point when
m_pSession and
m_pResponseHeaders are not NULL.
I suggest the attached fix/diff, but there could be an
easier solution. Any
input from you will be helpful!
Thanks,
Jyotsana
P.S: I have added some more existing code lines in the diff
to make more
readable.
-----Original Message-----
From: protocol-dev-bounces helixcommunity.org
[mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of Eric Hyche
Sent: Thursday, May 01, 2008 12:51 PM
To: rajesh.rathinasamy nokia.com; jgordon real.com
Cc: protocol-dev helixcommunity.org
Subject: RE: [Protocol-dev] CR: Disable server side rate
adaptation
fromclientfor helix servers
I don't have any other concerns.
Eric
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: rajesh.rathinasamy nokia.com
> [mailto:rajesh.rathinasamy nokia.com]
> Sent: Thursday, May 01, 2008 2:25 PM
> To: jgordon real.com; ehyche real.com
> Cc: protocol-dev helixcommunity.org
> Subject: RE: [Protocol-dev] CR: Disable server side
rate
> adaptation from clientfor helix servers
>
>
> Jamie & Eric,
> Thanks for your comments.
>
> My comments inlined.
>
> If no other concerns I will go ahead and check in the
changes.
>
> - Rajesh.
>
>
> >-----Original Message-----
> >From: ext Jamie Gordon [mailto:jgordon real.com]
> >Sent: Thursday, May 01, 2008 1:15 PM
> >To: ehyche real.com
> >Cc: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
> >protocol-dev helixcommunity.org
> >Subject: Re: [Protocol-dev] CR: Disable server side
rate
> >adaptation from clientfor helix servers
> >
> >Eric Hyche wrote:
> >> This looks good to me, assuming that we can
rely on the fact
> >that on a
> >> RealServer/HelixServer, a s->c
RealChallenge will be
> issued with the
> >> OPTIONS response. I believe this is a safe
assumption.
> >> Jamie: is this correct?
> >>
> >yeah, that should be correct always.
> >
> >
> >A couple of things with this diff though:
> >
> >- else if (HXR_OK ==
> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > -
> ulReportFreq))
> > > + else if ( (HXR_OK ==
> > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > +
> > > ulReportFreq)) && (ulReportFreq ==
1))
> > > {
> > > hdrType = aht3GPP;
> > > }
> >
> >This change is *not* correct. The report frequency
is not a
> >boolean, it is an integer frequency which can
certainly have
> >other values than '1'. If you need to check that
it's set to a
> >valid value, the check should be ulReportFreq !=
0.
> <<Rajesh>> I will change this.
>
> >
> >Also, my understanding is that the issue you are
seeing is
> >specific to helix-adaptation, not 3gpp-adaptation,
so why
> >disable 3gpp- adaptation?
>
> <<Rajesh>> Noticed buffer overlow with 3GPP
adaptation too.
> >
> >Thanks,
> >Jamie
> >
> >> This is because the IsRealServer() function
determines
> >whether or not
> >> a server is a HelixServer/RealServer by
whether or not a
> >RealChallenge
> >> has been issued.
> >> And we are calling IsRealServer() in
ParseSDP(), which would
> >be during
> >> the DESCRIBE response.
> >>
> >> Eric
> >>
> >> =============================================
> >> Eric Hyche (ehyche real.com)
> >> Technical Lead
> >> RealNetworks, Inc.
> >>
> >>> -----Original Message-----
> >>> From: protocol-dev-bounces helixcommunity.org
> >>> [mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
> >>> rajesh.rathinasamy nokia.com
> >>> Sent: Thursday, May 01, 2008 1:23 PM
> >>> To: protocol-dev helixcommunity.org
> >>> Subject: [Protocol-dev] CR: Disable server
side rate
> >adaptation from
> >>> clientfor helix servers
> >>>
> >>>
> >>> Also, please advice if it is required for
310CayS.
> >>>
> >>>
> >>> "Nokia 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: rajesh.rathinasamy nokia.com
> >>>
> >>> Reviewed by:
> >>>
> >>> Date: 01-May-2008
> >>>
> >>> Project: SymbianMmf_rel
> >>>
> >>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
> >>>
> >>> Synopsis: CR: Disable server side rate
adaptation from client for
> >>> helix servers
> >>>
> >>> While streaming rate adaptation content
from helix
> >servers, packets
> >>> are being dropped at the client transport
buffer resulting in bad
> >>> video quality.
> >>>
> >>> The server seems to be sending buffers
more than what
> client had
> >>> reserved for.
> >>>
> >>> Disabling the rate adaptation as the
servers (version less than
> >>> 11.1.9) with this problem is already in
the market.
> >>>
> >>> Root Cause of the problem: Implementation
> >>>
> >>> Files Modified:
> >>> ===========
> >>> protocolrtsprtspclnt.cpp
> >>> protocolrtsprateadaptinfo.cpp
> >>>
> >>> Image Size and Heap Use impact: no major
impact
> >>>
> >>> Module Release testing (STIF) : Passed.
(Streaming)
> >>>
> >>> Test case(s) Added : No.
> >>>
> >>> Memory leak check performed : Yes, no new
leaks introduced
> >>>
> >>> Platforms and Profiles Build Verified:
> >>> helix-client-s60-32-mmf-mdf-arm
> >>>
> >>> Platforms and Profiles Functionality
verified: armv5, winscw
> >>>
> >>> Branch: 221Cays, 210CayS, Head
> >>>
> >>>
> >>>
> >>> Index: rateadaptinfo.cpp
> >>>
>
============================================================
=======
> >>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
> >>> retrieving revision 1.12.8.6
> >>> diff -w -u -b -r1.12.8.6 rateadaptinfo.cpp
> >>> --- rateadaptinfo.cpp 13 Nov 2007
21:39:38 -0000 1.12.8.6
> >>> +++ rateadaptinfo.cpp 1 May 2008
15:30:25 -0000
> >>>  -479,8 +479,8 
> >>> ulReportFreq = 1;
> >>> hdrType = ahtHelix;
> >>> }
> >>> - else if (HXR_OK ==
> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> >>> -
> ulReportFreq))
> >>> + else if ( (HXR_OK ==
> >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> >>> +
> >>> ulReportFreq)) && (ulReportFreq ==
1))
> >>> {
> >>> hdrType = aht3GPP;
> >>> }
> >>> Index: rtspclnt.cpp
> >>>
>
============================================================
=======
> >>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
> >>> retrieving revision 1.182.2.25.2.2
> >>> diff -w -u -b -r1.182.2.25.2.2
rtspclnt.cpp
> >>> --- rtspclnt.cpp 21 Apr 2008
18:41:01 -0000
> >>> 1.182.2.25.2.2
> >>> +++ rtspclnt.cpp 1 May 2008
15:30:26 -0000
> >>>  -10644,21 +10644,29 
> >>> if (m_pRateAdaptInfo)
> >>> {
> >>> UINT32 ulHelixAdaptation =
0;
> >>> - UINT32 ulVersionTarget =
> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 0L, 0L);
> >>> + UINT32
ul3GPPRateAdaptation = 0;
> >>> + UINT32 ulVersionTarget =
> >>> HX_ENCODE_PROD_VERSION(11L, 1L, 9L, 0L);
> >>>
> >>> //
> >>> - // due to a bug in
released Helix Server, the
> >>> client needs to disable
"Helix-Adaption"
> >>> - // if the server version
< 11.1.0.0
> >>> + // due to a bug in
released Helix Server,
> >>> the client needs to disable Server Side
Rate Adaption"
> >>> + // if the server version
< 11.1.9.0
> >>> //
> >>> - // see
> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
> for details
> >>> + // Problems:
> >>> + // * see
> >>>
https://bugs.helixcommunity.org/show_bug.cgi?id=4989
> >>> <https://bugs.helixcommunity.org/show_bug.cgi?id=4989>
> for details
> >>> + // * Transport buffer
overflow problem.
> >>> Server oversends data resulting in
> >>> + // client buffer
overflow.
> >>> //
> >>> - if ((m_ulServerVersion
< ulVersionTarget) &&
> >>> - HXR_OK ==
> >>>
ppRealHeaders[i]->GetPropertyULONG32("Helix-Adaptati
on-Support",
> >>> -
> >>> ulHelixAdaptation) &&
> >>> - (1 ==
ulHelixAdaptation))
> >>> + //
> >>> +
> >>> + if(IsRealServer()
&& (m_ulServerVersion <
> >>> ulVersionTarget) )
> >>> {
> >>> + HXLOGL2(HXLOG_RTSP,
> >>> "RTSPClientProtocol[%p]::ParseSDP()
Disabling
> >RateAdaptation", this);
> >>> +
> >>> + // switch off both
rate adaptation
> >>>
> >>>
>
>ppRealHeaders[i]->SetPropertyULONG32("Helix-Adap
tation-Support", 0);
> >>> - }
> >>> +
> >>>
>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
> >>> +
> >>> + } // End of
if(IsRealServer() &&
> >>> (m_ulServerVersion < ulVersionTarget)
)
> >>>
> >>>
> >>>
m_pRateAdaptInfo->OnStreamHeader((UINT16)streamNumber,
> >>>
> ppRealHeaders[i]);
> >>>
> >>>
> >>
> >
>
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
_______________________________________________
Protocol-dev mailing list
Protocol-dev helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/pr
otocol-dev
|
|
|
| RE: CR: Disable server side rate
adaptation fromclientfor helix servers |

|
2008-06-06 05:33:43 |
This seems like a reasonable fix to me.
=============================================
Eric Hyche (ehyche real.com)
Technical Lead
RealNetworks, Inc.
> -----Original Message-----
> From: Jyotsana Rathore [mailto:jrathore real.com]
> Sent: Thursday, June 05, 2008 7:52 PM
> To: ehyche real.com; rajesh.rathinasamy nokia.com;
> jgordon real.com; ext-gabriela.valverde nokia.com
> Cc: protocol-dev helixcommunity.org
> Subject: RE: [Protocol-dev] CR: Disable server side
rate
> adaptation fromclientfor helix servers
>
> Hi,
>
> In reference to this fix, there has been a recent
discovery
> of a crash when
> streaming is initiated directly from an SDP file
because of a
> call made to
> IsRealServer()inside ParseSDP():
>
> if(IsRealServer() && (m_ulServerVersion <
ulVersionTarget) )
> {
> // switch off both rate adaptation
>
>
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
>
>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
> }
>
> The cause of the problem is that the m_pSession pointer
is being
> de-referenced when NULL inside the function:
> RTSPClientProtocolExt::IsRealServer(void)
> {
> // If we did not get a RealChallenge1, this is not
a RealServer,
> // so use rtp to inter-operate.
> if (!m_pSession->m_bChallengeDone &&
>
!((HXRTSPClientSession*)m_pSession)->m_pRealChallenge)
> {
> return RTSPClientProtocol::IsRealServer();
> }
> return TRUE;
> }
>
> In order to solve the crash problem the following
changes
> have been made:
>
> if (!m_bSDPInitiated)
>
> {
> if(IsRealServer() && (m_ulServerVersion
< ulVersionTarget) )
> {
> // switch off both rate adaptation
>
>
ppRealHeaders[i]->SetPropertyULONG32("Helix-Adaptati
on-Support", 0);
>
>
>
ppRealHeaders[i]->SetPropertyULONG32("3GPP-Adaptatio
n-Support", 0);
> }
> }
>
> However, the same logic of disabling rate adaptation
should also be
> applicable for SDP initiated case at a later point when
m_pSession and
> m_pResponseHeaders are not NULL.
>
> I suggest the attached fix/diff, but there could be an
easier
> solution. Any
> input from you will be helpful!
>
> Thanks,
> Jyotsana
>
> P.S: I have added some more existing code lines in the
diff
> to make more
> readable.
>
> -----Original Message-----
> From: protocol-dev-bounces helixcommunity.org
> [mailto:protocol-dev-bounces helixcommunity.org] On
Behalf Of
> Eric Hyche
> Sent: Thursday, May 01, 2008 12:51 PM
> To: rajesh.rathinasamy nokia.com; jgordon real.com
> Cc: protocol-dev helixcommunity.org
> Subject: RE: [Protocol-dev] CR: Disable server side
rate adaptation
> fromclientfor helix servers
>
>
> I don't have any other concerns.
>
> Eric
>
> =============================================
> Eric Hyche (ehyche real.com)
> Technical Lead
> RealNetworks, Inc.
>
> > -----Original Message-----
> > From: rajesh.rathinasamy nokia.com
> > [mailto:rajesh.rathinasamy nokia.com]
> > Sent: Thursday, May 01, 2008 2:25 PM
> > To: jgordon real.com; ehyche real.com
> > Cc: protocol-dev helixcommunity.org
> > Subject: RE: [Protocol-dev] CR: Disable server
side rate
> > adaptation from clientfor helix servers
> >
> >
> > Jamie & Eric,
> > Thanks for your comments.
> >
> > My comments inlined.
> >
> > If no other concerns I will go ahead and check in
the changes.
> >
> > - Rajesh.
> >
> >
> > >-----Original Message-----
> > >From: ext Jamie Gordon [mailto:jgordon real.com]
> > >Sent: Thursday, May 01, 2008 1:15 PM
> > >To: ehyche real.com
> > >Cc: Rathinasamy Rajesh (Nokia-D-MSW/Dallas);
> > >protocol-dev helixcommunity.org
> > >Subject: Re: [Protocol-dev] CR: Disable server
side rate
> > >adaptation from clientfor helix servers
> > >
> > >Eric Hyche wrote:
> > >> This looks good to me, assuming that we
can rely on the fact
> > >that on a
> > >> RealServer/HelixServer, a s->c
RealChallenge will be
> > issued with the
> > >> OPTIONS response. I believe this is a
safe assumption.
> > >> Jamie: is this correct?
> > >>
> > >yeah, that should be correct always.
> > >
> > >
> > >A couple of things with this diff though:
> > >
> > >- else if (HXR_OK ==
> > > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > > -
> > ulReportFreq))
> > > > + else if ( (HXR_OK ==
> > > >
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > > > +
> > > > ulReportFreq)) && (ulReportFreq
== 1))
> > > > {
> > > > hdrType = aht3GPP;
> > > > }
> > >
> > >This change is *not* correct. The report
frequency is not a
> > >boolean, it is an integer frequency which can
certainly have
> > >other values than '1'. If you need to check
that it's set to a
> > >valid value, the check should be ulReportFreq
!= 0.
> > <<Rajesh>> I will change this.
> >
> > >
> > >Also, my understanding is that the issue you
are seeing is
> > >specific to helix-adaptation, not
3gpp-adaptation, so why
> > >disable 3gpp- adaptation?
> >
> > <<Rajesh>> Noticed buffer overlow with
3GPP adaptation too.
> > >
> > >Thanks,
> > >Jamie
> > >
> > >> This is because the IsRealServer()
function determines
> > >whether or not
> > >> a server is a HelixServer/RealServer by
whether or not a
> > >RealChallenge
> > >> has been issued.
> > >> And we are calling IsRealServer() in
ParseSDP(), which would
> > >be during
> > >> the DESCRIBE response.
> > >>
> > >> Eric
> > >>
> > >>
=============================================
> > >> Eric Hyche (ehyche real.com)
> > >> Technical Lead
> > >> RealNetworks, Inc.
> > >>
> > >>> -----Original Message-----
> > >>> From: protocol-dev-bounces helixcommunity.org
> > >>> [mailto:protocol-dev-bounces helixcommunity.org] On Behalf Of
> > >>> rajesh.rathinasamy nokia.com
> > >>> Sent: Thursday, May 01, 2008 1:23 PM
> > >>> To: protocol-dev helixcommunity.org
> > >>> Subject: [Protocol-dev] CR: Disable
server side rate
> > >adaptation from
> > >>> clientfor helix servers
> > >>>
> > >>>
> > >>> Also, please advice if it is required
for 310CayS.
> > >>>
> > >>>
> > >>> "Nokia 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: rajesh.rathinasamy nokia.com
> > >>>
> > >>> Reviewed by:
> > >>>
> > >>> Date: 01-May-2008
> > >>>
> > >>> Project: SymbianMmf_rel
> > >>>
> > >>> ErrorId: MELT-7DDSKM, TVAA-7CEBMZ
> > >>>
> > >>> Synopsis: CR: Disable server side
rate adaptation from
> client for
> > >>> helix servers
> > >>>
> > >>> While streaming rate adaptation
content from helix
> > >servers, packets
> > >>> are being dropped at the client
transport buffer
> resulting in bad
> > >>> video quality.
> > >>>
> > >>> The server seems to be sending
buffers more than what
> > client had
> > >>> reserved for.
> > >>>
> > >>> Disabling the rate adaptation as
the servers (version
> less than
> > >>> 11.1.9) with this problem is already
in the market.
> > >>>
> > >>> Root Cause of the problem:
Implementation
> > >>>
> > >>> Files Modified:
> > >>> ===========
> > >>> protocolrtsprtspclnt.cpp
> > >>> protocolrtsprateadaptinfo.cpp
> > >>>
> > >>> Image Size and Heap Use impact: no
major impact
> > >>>
> > >>> Module Release testing (STIF) :
Passed. (Streaming)
> > >>>
> > >>> Test case(s) Added : No.
> > >>>
> > >>> Memory leak check performed : Yes, no
new leaks introduced
> > >>>
> > >>> Platforms and Profiles Build
Verified:
> > >>> helix-client-s60-32-mmf-mdf-arm
> > >>>
> > >>> Platforms and Profiles Functionality
verified: armv5, winscw
> > >>>
> > >>> Branch: 221Cays, 210CayS, Head
> > >>>
> > >>>
> > >>>
> > >>> Index: rateadaptinfo.cpp
> > >>>
> >
============================================================
=======
> > >>> RCS file:
/cvsroot/protocol/rtsp/rateadaptinfo.cpp,v
> > >>> retrieving revision 1.12.8.6
> > >>> diff -w -u -b -r1.12.8.6
rateadaptinfo.cpp
> > >>> --- rateadaptinfo.cpp 13 Nov 2007
21:39:38 -0000
> 1.12.8.6
> > >>> +++ rateadaptinfo.cpp 1 May 2008
15:30:25 -0000
> > >>>  -479,8 +479,8 
> > >>> ulReportFreq = 1;
> > >>> hdrType = ahtHelix;
> > >>> }
> > >>> - else if (HXR_OK ==
> > >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > >>> -
> > ulReportFreq))
> > >>> + else if ( (HXR_OK ==
> > >>>
pHdr->GetPropertyULONG32("3GPP-Adaptation-Support&qu
ot;,
> > >>> +
> > >>> ulReportFreq)) &&
(ulReportFreq == 1))
> > >>> {
> > >>> hdrType = aht3GPP;
> > >>> }
> > >>> Index: rtspclnt.cpp
> > >>>
> >
============================================================
=======
> > >>> RCS file:
/cvsroot/protocol/rtsp/rtspclnt.cpp,v
> > >>> retrieving revision 1.182.2.25.2.2
> > >>> diff -w -u -b -r1.182.2.25.2.2
rtspclnt.cpp
> > >>> --- rtspclnt.cpp 21 Apr 2008
18:41:01 -0000
> > >>> 1.182.2.25.2.2
> > >>> +++ rtspclnt.cpp 1 May 2008
15:30:26 -0000
> > >>>  -10644,21 | |