[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-common-dev
Subject:    [Common-dev] URGENT CR: ou1cimx1#505633 - "General error: Memory
From:       <ext-shashi.merapala () nokia ! com>
Date:       2010-10-19 8:57:09
Message-ID: EEF08FFE3AB06D43A1F6BDF1C0F779B32F9E99480C () NOK-EUMSG-02 ! mgdnok ! nokia ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


"Nokia submits this code under the terms of a commercial contribution agree=
ment with RealNetworks, and I am authorized to contribute this code under s=
aid agreement."

Modified by:  ext-shashi.merapala@nokia.com<mailto:ext-shashi.merapala@noki=
a.com>

Reviewed by:  junhong.liu@nokia.com<mailto:junhong.liu@nokia.com>, shy.ward=
@nokia.com<mailto:ext-shashi.merapala@nokia.com>

Date:  10/19/2010

Project:  SymbianMmf_wm

Error Id:  ou1cimx1#505633


Synopsis:  "General error: Memory full" after call during watching 720p vid=
eo from OTG USB hard disk


Overview:  When various use-cases are tested using OTG / HDMI for playback,=
 it is observed that for some cases the video freezes occasionally or the p=
layback stops with "memory full" message.



Solution:  Along with the change in MMF to increase the maximum heap size f=
rom 16 MB to 32 MB, the following changes in Helix resolve these errors -

[1] The optional field that defines the maximum heap size required by the v=
ideo controller in the video controller's RSS file has been increased from =
16 MB to 32 MB.

[2] Attached is the CR wherein changes were made to 420Brizo and HEAD for a=
 similar error. These changes are now being ported to 210CayS.

Diffs attached.

Files added:  None


Files modified:  /cvsroot/clientapps/symbianMmf/videocontroller/101F8513.rs=
s

                 /cvsroot/common/system/platform/symbian/symbianthreads.cpp

                 /cvsroot/client/core/hxflsrc.cpp


Image size and heap use impact:  Negligible

Module release testing (STIF):  Done. Passed.

Test case(s) added:  No

Memory leak check performed:  NA

Platforms and profiles build verified:  helix-client-s60-52-mmf-mdf-dsp

Platforms and profiles functionality verified:  armv5

Branch:  210CayS



[Attachment #5 (text/html)]

<html xmlns:v="urn:schemas-microsoft-com:vml" \
xmlns:o="urn:schemas-microsoft-com:office:office" \
xmlns:w="urn:schemas-microsoft-com:office:word" \
xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" \
xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0in;
	margin-bottom:.0001pt;
	font-size:10.0pt;
	font-family:"Courier New";}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
	{page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&quot;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.&quot;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Modified by:&nbsp; </span><span style='font-size:
10.0pt;font-family:"Times New Roman","serif"'><a
href="mailto:ext-shashi.merapala@nokia.com">ext-shashi.merapala@nokia.com</a></span><span
 style='font-size:10.0pt;font-family:"Courier New"'> &nbsp;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Reviewed by:&nbsp; </span><span style='font-size:
10.0pt;font-family:"Times New Roman","serif"'><a
href="mailto:junhong.liu@nokia.com">junhong.liu@nokia.com</a>, <a
href="mailto:ext-shashi.merapala@nokia.com">shy.ward@nokia.com</a>&nbsp; </span><span
style='font-size:10.0pt;font-family:"Courier New"'>&nbsp;&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Date:&nbsp; 10/19/2010<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Project:&nbsp; SymbianMmf_wm<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Error Id:&nbsp; ou1cimx1#505633<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<pre>Synopsis:&nbsp; &quot;General error: Memory full&quot; after call during \
watching 720p video from OTG USB hard disk <o:p></o:p></pre>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<pre>Overview:&nbsp; When various use-cases are tested using OTG / HDMI for playback, \
it is observed that for some cases the video freezes occasionally or the playback \
stops with &#8220;memory full&#8221; message. \
<o:p></o:p></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs \
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<o:p></o:p></pre><pre>Solution:&nbsp; Along with the change in MMF to increase the \
maximum heap size from 16 MB to 32 MB, the following changes in Helix resolve these \
errors &#8211;<o:p></o:p></pre><pre>[1] The optional field that defines the maximum \
heap size required by the video controller in the video controller&#8217;s RSS file \
has been increased from 16 MB to 32 MB.<o:p></o:p></pre><pre>[2] Attached is the CR \
wherein changes were made to 420Brizo and HEAD for a similar error. These changes are \
now being ported to 210CayS. <o:p></o:p></pre>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Diffs attached.<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>&nbsp;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Files added:&nbsp; None<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<pre>Files modified:&nbsp; \
/cvsroot/clientapps/symbianMmf/videocontroller/101F8513.rss<o:p></o:p></pre><pre>&nbsp \
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
/cvsroot/common/system/platform/symbian/symbianthreads.cpp<o:p></o:p></pre><pre>&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
/cvsroot/client/core/hxflsrc.cpp \
<o:p></o:p></pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;<o:p></o:p></pre>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Image size and heap use impact: \
&nbsp;Negligible<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Module release testing (STIF):&nbsp; Done. \
Passed.<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Test case(s) added:&nbsp; No&nbsp; <o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>Memory leak check performed: \
&nbsp;NA<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Platforms
and profiles build verified: \
&nbsp;helix-client-s60-52-mmf-mdf-dsp<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Platforms
and profiles functionality verified: &nbsp;armv5 <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier \
New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>Branch:
&nbsp;210CayS<o:p></o:p></span></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>


["clientapps_diff.txt" (text/plain)]

Index: 101F8513.rss
===================================================================
RCS file: /cvsroot/clientapps/symbianMmf/videocontroller/101F8513.rss,v
retrieving revision 1.3.2.16
diff -u -w -r1.3.2.16 101F8513.rss
--- 101F8513.rss	4 Jun 2010 06:24:25 -0000	1.3.2.16
+++ 101F8513.rss	18 Oct 2010 15:36:48 -0000
@@ -29,7 +29,7 @@
 					version_no = 1;
 					display_name = "Real Video Player";
 					default_data = "?";
-					opaque_data = "<s>Real<i>0x101F5D07<i>0x101F5D08<p>0x101f8515<a>0x1000000<u>rtsp<u>rtspt<u>rtspu<u>http<u>httpt<u>mms<u>mmst<u>mmsu<u>xps<d>";
 +					opaque_data = \
"<s>Real<i>0x101F5D07<i>0x101F5D08<p>0x101f8515<a>0x2000000<u>rtsp<u>rtspt<u>rtspu<u>http<u>httpt<u>mms<u>mmst<u>mmsu<u>xps<d>";
  rom_only = ROM_ONLY_FLAG;
 				}
 			};


["common_diff.txt" (text/plain)]

Index: symbianthreads.cpp
===================================================================
RCS file: /cvsroot/common/system/platform/symbian/symbianthreads.cpp,v
retrieving revision 1.14.2.2
diff -u -w -r1.14.2.2 symbianthreads.cpp
--- symbianthreads.cpp	14 Sep 2010 20:27:49 -0000	1.14.2.2
+++ symbianthreads.cpp	18 Oct 2010 15:41:29 -0000
@@ -883,10 +883,6 @@
     HX_ASSERT( pTimer != NULL );
     if( pTimer != NULL )
     {
-        //Make sure the timeout is an even multiple of our
-        //system tick. 15ms for Symbian phones we have ported
-        //to so far. XXXgfw get this from a Symbian call.
-        ulTimeOut = ulTimeOut/15*15;
         pTimer->Init(ulTimeOut, pReceivingThread );
 
         //Add new timer to map.
@@ -915,7 +911,6 @@
     HX_ASSERT( pTimer != NULL );
     if( pTimer != NULL )
     {
-        ulTimeOut = ulTimeOut/15*15;
         pTimer->Init(ulTimeOut, pfExecFunc, pHandle );
 
         //Add new timer to map.

["client_diff.txt" (text/plain)]

Index: hxflsrc.cpp
===================================================================
RCS file: /cvsroot/client/core/hxflsrc.cpp,v
retrieving revision 1.96.2.18
diff -u -w -r1.96.2.18 hxflsrc.cpp
--- hxflsrc.cpp	5 Mar 2010 13:08:41 -0000	1.96.2.18
+++ hxflsrc.cpp	19 Oct 2010 07:25:08 -0000
@@ -105,6 +105,7 @@
 
 #define FILEREAD_SIZE   4096
 #define SOURCE_TIMELINE_TOL  500
+#define MAX_NUM_EVENTS 5
 
 HXFileSource::HXFileSource() 
 : m_lRefCount(0)
@@ -2619,8 +2620,16 @@
     }
     else
     {
+        if (lEventList->GetNumEvents() <= MAX_NUM_EVENTS)
+        {
         FillBuffers();
     }
+        else
+        {
+            HXLOGL2(HXLOG_TRIK, "FS PacketReady() Skipping FillBuffers %u", uStreamNumber);
+            m_pSourceInfo->ScheduleProcessCallback();
+        }
+    }
 
     if (!theErr)
     {


Received: from vaebh102.NOE.Nokia.com (10.160.244.23) by
	NOK-AM1MHUB-04.mgdnok.nokia.com (65.54.30.8) with Microsoft SMTP Server
	id 8.2.254.0; Sat, 25 Sep 2010 04:14:27 +0200
Received: from esebh106.NOE.Nokia.com ([172.21.138.213]) by
	vaebh102.NOE.Nokia.com with Microsoft SMTPSVC(6.0.3790.4675);
	Sat, 25 Sep 2010 05:14:26 +0300
Received: from mx-sa02.nokia.com ([147.243.177.58]) by esebh106.NOE.Nokia.com
	with Microsoft SMTPSVC(6.0.3790.4675);
	Sat, 25 Sep 2010 05:14:25 +0300
Received: from lists.helixcommunity.org ([207.188.25.136])	by
	mx-sa02.nokia.com (Switch-3.4.3/Switch-3.4.3) with ESMTP id
	o8P2EKah008422
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits%6 verify=NO);
	Sat, 25 Sep 2010 05:14:22 +0300
Received: from localhost.localdomain ([127.0.0.1]
	helo=mail.helixcommunity.org)	by lists.helixcommunity.org with esmtp
	(Exim 4.43)	id 1OzIhY-0006IZ-Kj; Sat, 25 Sep 2010 00:33:19 +0000
Received: from [192.168.100.15] (helo=spamwall.internal.helixcommunity.org)	by
	lists.helixcommunity.org with esmtp (Exim 4.43)	id
	1OzIhB-0006IF-2H	for
	filesystem-dev@helixcommunity.org; Sat, 25 Sep 2010 00:32:57 +0000
Received: from cir-el.real.com (cir-el.real.com [207.188.23.7])	by
	spamwall.internal.helixcommunity.org (Spam Firewall) with ESMTP
	id	6D79EA2CD8
	for <filesystem-dev@helixcommunity.org>; Fri, 24 Sep 2010 19:42:31 -0700
	(PDT)
Received: from [192.168.1.6] ([::ffff:70.174.181.20])	(AUTH: PLAIN sfu, SSL:
	TLSv1/SSLv3,256bits,AES256-SHA)	by cir-el.real.com with esmtp;
	Fri, 24 Sep 2010 19:12:05 -0700	id 001FC122.4C9D5A75.000053DE
From: <sfu@real.com>
To: <Junhong.Liu@nokia.com>
CC: <filesystem-dev@helixcommunity.org>, <client-dev@lists.helixcommunity.org>
Sender: <filesystem-dev-bounces@helixcommunity.org>
Date: Sat, 25 Sep 2010 04:12:19 +0200
Subject: [Filesystem-dev] Re: [Client-dev] CR needed: Symbian 420Brizo/HEAD
	: Constant reloading for high frame rate clips
Thread-Topic: [Filesystem-dev] Re: [Client-dev] CR needed: Symbian
	420Brizo/HEAD : Constant reloading for high frame rate clips
Thread-Index: ActcV2D3yC+wXSxIQEil8xt4aTvP4w=Message-ID: <4C9D5A83.40109@real.com>
References: <673F5EF8B307EB4488DDABBBD521B327015DD2@008-AM1MPN1-003.mgdnok.nokia.com>
	<4C9D108E.8080908@real.com>
	<673F5EF8B307EB4488DDABBBD521B32701623E@008-AM1MPN1-003.mgdnok.nokia.com>
List-Help: <mailto:filesystem-dev-request@helixcommunity.org?subject=help>
List-Subscribe: <http://lists.helixcommunity.org/mailman/listinfo/filesystem-dev>,
	<mailto:filesystem-dev-request@helixcommunity.org?subject=subscribe>
List-Unsubscribe: <http://lists.helixcommunity.org/mailman/listinfo/filesystem-dev>,
	<mailto:filesystem-dev-request@helixcommunity.org?subject=unsubscribe>
In-Reply-To: <673F5EF8B307EB4488DDABBBD521B32701623E@008-AM1MPN1-003.mgdnok.nokia.com>
                
X-MS-Exchange-Organization-AuthAs: Internal
X-MS-Exchange-Organization-AuthMechanism: 10
X-MS-Exchange-Organization-AuthSource: nok-am1mhub-04.mgdnok.nokia.com
X-MS-Has-Attach:
X-Auto-Response-Suppress: All
X-MS-TNEF-Correlator:
x-originalarrivaltime: 25 Sep 2010 02:14:26.0087 (UTC)
	FILETIME=[607C7370:01CB5C57]
x-nokia-av: Clean
x-pstn-spam: N
x-spam-score: 0.00%
user-agent: Thunderbird 2.0.0.24 (X11/20100623)
x-asg-debug-id: 1285382551-01fb009b0000-tFObII
x-barracuda-url: http://192.168.100.15:8000/cgi-bin/mark.cgi
x-asg-orig-subj: Re: [Client-dev] CR needed: Symbian 420Brizo/HEAD :
	Constant	reloading for high frame rate clips
x-barracuda-connect: cir-el.real.com[207.188.23.7]
x-barracuda-start-time: 1285382551
x-barracuda-virus-scanned: by Barracuda Spam Firewall at
	internal.helixcommunity.org
errors-to: filesystem-dev-bounces@helixcommunity.org
x-beenthere: filesystem-dev@helixcommunity.org
x-mailman-version: 2.1.5
list-id: "The main list for developers to discuss project development issues
	and requirements for version
	control."	<filesystem-dev.helixcommunity.org>
list-archive: <http://lists.helixcommunity.org/pipermail/filesystem-dev>
list-post: <mailto:filesystem-dev@helixcommunity.org>
x-asg-whitelist: Sender
x-dkim: Sendmail DKIM Filter v2.8.4 mx-sa02.nokia.com o8P2EKah008422
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0

Looks good.

Thanks for the research done on this. This would be very useful when we
try to fix the problem for other platforms.

fxd

Junhong.Liu@nokia.com wrote:
> Hi,  Sheldon:
> 
> Please see the new diff as below. I used Symbian flag on the async PacketReady \
> callback.  I will modify my synopsis to "move these 5 packets to Renderer in the \
> next HXPlayer::ProcessIdle" when I check in. 
> Thanks,
> 
> Junhong
> 
> 
> ===================================================================
> RCS file: /cvsroot/client/core/hxflsrc.cpp,v
> retrieving revision 1.138.12.1.2.2
> diff -u -b -r1.138.12.1.2.2 hxflsrc.cpp
> --- hxflsrc.cpp 5 Mar 2010 13:18:41 -0000       1.138.12.1.2.2
> +++ hxflsrc.cpp 25 Sep 2010 00:33:23 -0000
> @@ -109,6 +109,13 @@
> #define SOURCE_TIMELINE_TOL  500
> #define LOCALSOURCE_FAST_START_BW_CAPACITY_THRESHOLD   150     // A percentage o
> 
> +#ifdef _SYMBIAN
> +#define MAX_NUM_EVENTS 5
> +#else
> +#define MAX_NUM_EVENTS 0
> +#endif
> +
> +
> HXFileSource::HXFileSource()
> > m_lRefCount(0)
> , m_ulLastBufferingReturned(0)
> @@ -2804,8 +2811,17 @@
> 
> if(!m_bInFillMode)
> {
> +#ifdef _SYMBIAN
> +        if (lEventList->GetNumEvents() <= MAX_NUM_EVENTS)
> +        {
> FillBuffers(HX_GET_BETTERTICKCOUNT());
> }
> +        else
> +        {
> +            m_pSourceInfo->ScheduleProcessCallback();
> +        }
> +#endif
> +    }
> 
> if (!theErr)
> {
> @@ -3423,7 +3439,7 @@
> 
> if (!lpStreamInfo->m_bSrcStreamDone)
> {
> -           if (lpStreamInfo->m_EventList.GetNumEvents() == 0)
> +           if (lpStreamInfo->m_EventList.GetNumEvents() <= MAX_NUM_EVENTS)
> {
> bHasUnfilledStreams = TRUE;
> 
> @@ -3439,7 +3455,7 @@
> 
> if (!lpStreamInfo->m_bPacketRequested)
> {
> -               if (lpStreamInfo->m_EventList.GetNumEvents() == 0)
> +               if (lpStreamInfo->m_EventList.GetNumEvents() <= MAX_NUM_EVENTS)
> {
> lpStreamInfoOut = lpStreamInfo;
> bSelectedStream = TRUE;
> 
> -----Original Message-----
> From: ext Sheldon Fu [mailto:sfu@real.com]
> Sent: Friday, September 24, 2010 3:57 PM
> To: Liu Junhong (Nokia-MS/Dallas)
> Cc: client-dev@lists.helixcommunity.org; filesystem-dev@helixcommunity.org
> Subject: Re: [Client-dev] CR needed: Symbian 420Brizo/HEAD : Constant reloading for \
> high frame rate clips 
> This looks fine for Symbian, but on other platforms, the following code
> 
> if(!m_bInFillMode)
> {
> +    if (lEventList->GetNumEvents() <= MAX_NUM_EVENTS)
> +    {
> FillBuffers(HX_GET_BETTERTICKCOUNT());
> }
> +    else
> +    {
> +        m_pSourceInfo->ScheduleProcessCallback();
> +    }
> +    }
> 
> will result in m_pSourceInfo->ScheduleProcessCallback() being called for each \
> PacketReady() callback, while the old code only calls FillBuffers (which will be a \
> no-op because of the queue deep limitation in FillBuffers). Is this intentional(for \
> other platforms that is)? It might be better to limit the change to Symbian only if \
> you don't intend to test other platforms. 
> Also, I don't think it matters much for your purpose but SourceInfo's ProcessIdle \
> doesn't really move the packets to Renderer, HXPlay's ProcessIdle does with its \
> SendPacket method. 
> fxd
> 
> 
> Junhong.Liu@nokia.com wrote:
> 
> > Modified by: Junhong.liu@nokia.com
> > Reviewed by: Ashish.As.Gupta@nokia.com
> > Date: 09/23/2010
> > Project: symbian_client_apps
> > ErrorId: ou1cimx1#562804
> > Synopsis: Constant reloading for high frame rate clips
> > Overview:
> > For Brizo420 and HEAD branches, we are experiencing long start-up
> > time, constant reloading, and less CPU idle time on Power Save mode.
> > This was introduced by the change
> > _http://lists.helixcommunity.org/pipermail/helix-client-dev/2006-Augus
> > t/004927.html_ on FillBuffers() logic.  On asynchronous file i/o, each
> > HXPlayer::ProcessIdle() (30ms interval) can only read one packet at
> > most.  This was the root cause of  all these problems.
> > This CR is to issue another FillBuffers() in PacketReady callback
> > until 5 packets are received. After that, schedule an immediate
> > SourceInfo callback to move these 5 packets to Renderer.  The reason
> > of choosing 5 as max is because : 1) if the number is too big, then we
> > fill data too far ahead and load too much data to RAM.  2) If we can
> > read 5 packets in 30ms interval, prerolling 1 second of 30fps clip
> > will take 180ms. This is good enough for us.
> > Together with this CR, I also removed the 15 ms (1/64 second)
> > restriction on Rtimer's resolution because it has been changed to 1ms
> > since EKA2 Files Added:
> > None.
> > Files Modified:
> > client/core/hxflsrc.cpp
> > common/system/platform/symbian/symbianthreads.cpp
> > Image Size and Heap Use impact: minor
> > Module Release testing (STIF) : ongoing Test case(s) Added : No.
> > Memory leak check performed : Yes. No new leaks introduced Platforms
> > and Profiles Build Verified:
> > helix-client-symbian-4
> > Platforms and Profiles Functionality verified: armv5, winscw
> > Branch: 420Brizo, HEAD
> > 
> > Thanks,
> > 
> > Junhong
> > 
> > 
> > ===================================================================
> > RCS file: /cvsroot/client/core/hxflsrc.cpp,v
> > retrieving revision 1.138.12.1.2.2
> > diff -w -u -r1.138.12.1.2.2 hxflsrc.cpp
> > --- hxflsrc.cpp 5 Mar 2010 13:18:41 -0000       1.138.12.1.2.2
> > +++ hxflsrc.cpp 23 Sep 2010 14:34:09 -0000
> > @@ -109,6 +109,13 @@
> > #define SOURCE_TIMELINE_TOL  500
> > #define LOCALSOURCE_FAST_START_BW_CAPACITY_THRESHOLD   150     // A
> > percentage of source bitrate
> > 
> > +#ifdef _SYMBIAN
> > +#define MAX_NUM_EVENTS 5
> > +#else
> > +#define MAX_NUM_EVENTS 0
> > +#endif
> > +
> > +
> > HXFileSource::HXFileSource()
> > > m_lRefCount(0)
> > , m_ulLastBufferingReturned(0)
> > @@ -2804,8 +2811,15 @@
> > 
> > if(!m_bInFillMode)
> > {
> > +    if (lEventList->GetNumEvents() <= MAX_NUM_EVENTS)
> > +    {
> > FillBuffers(HX_GET_BETTERTICKCOUNT());
> > }
> > +    else
> > +    {
> > +        m_pSourceInfo->ScheduleProcessCallback();
> > +    }
> > +    }
> > 
> > if (!theErr)
> > {
> > @@ -3423,7 +3437,7 @@
> > 
> > if (!lpStreamInfo->m_bSrcStreamDone)
> > {
> > -           if (lpStreamInfo->m_EventList.GetNumEvents() == 0)
> > +           if (lpStreamInfo->m_EventList.GetNumEvents() <=
> > MAX_NUM_EVENTS)
> > {
> > bHasUnfilledStreams = TRUE;
> > 
> > @@ -3439,7 +3453,7 @@
> > 
> > if (!lpStreamInfo->m_bPacketRequested)
> > {
> > -               if (lpStreamInfo->m_EventList.GetNumEvents() == 0)
> > +               if (lpStreamInfo->m_EventList.GetNumEvents() <=
> > MAX_NUM_EVENTS)
> > {
> > lpStreamInfoOut = lpStreamInfo;
> > bSelectedStream = TRUE;
> > 
> > 
> > Index: symbianthreads.cpp
> > ===================================================================
> > RCS file: /cvsroot/common/system/platform/symbian/symbianthreads.cpp,v
> > retrieving revision 1.22.10.1
> > diff -w -u -r1.22.10.1 symbianthreads.cpp
> > --- symbianthreads.cpp  26 Feb 2010 21:15:12 -0000      1.22.10.1
> > +++ symbianthreads.cpp  23 Sep 2010 15:39:18 -0000
> > @@ -963,10 +963,6 @@
> > HX_ASSERT( pTimer != NULL );
> > if( pTimer != NULL )
> > {
> > -        //Make sure the timeout is an even multiple of our
> > -        //system tick. 15ms for Symbian phones we have ported
> > -        //to so far. XXXgfw get this from a Symbian call.
> > -        ulTimeOut = ulTimeOut/15*15;
> > pTimer->Init(ulTimeOut, pReceivingThread );
> > 
> > //Add new timer to map.
> > @@ -1007,7 +1003,6 @@
> > HX_ASSERT( pTimer != NULL );
> > if( pTimer != NULL )
> > {
> > -        ulTimeOut = ulTimeOut/15*15;
> > pTimer->Init(ulTimeOut, pfExecFunc );
> > 
> > //Add new timer to map.
> > 
> > 
> > 
> 
> .
> 
> 


_______________________________________________
Filesystem-dev mailing list
Filesystem-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/filesystem-dev



_______________________________________________
Common-dev mailing list
Common-dev@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/common-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic