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

List:       helix-filesystem-dev
Subject:    [Filesystem-dev] CN: [Nokia-private-dev] CR: Enabling HD Streaming
From:       <girish.shetty () nokia ! com>
Date:       2011-04-18 17:13:50
Message-ID: 16EDD0D433A1D0498F4A33532517B6B2018E04 () 008-AM1MPN1-015 ! mgdnok ! nokia ! com
[Download RAW message or body]

Thanks Qiang, this is checked in to Cayenns_210, Brizo_420 and Head.

I had missed a change in the original diff

-#define MEM_CACHE_TRIM_THRESHOLD_DENOM           4
+#ifdef SYMBIAN
+#define MEM_CACHE_TRIM_THRESHOLD_DENOM          10
+#else
+#define MEM_CACHE_TRIM_THRESHOLD_DENOM          4
+#endif

Regards
Girish


From: ext Qiang Luo [mailto:qluo@real.com]
Sent: Wednesday, April 13, 2011 7:23 PM
To: Shetty Girish (Nokia-SD/SiliconValley)
Cc: filesystem-dev@helixcommunity.org; protocol-dev@helixcommunity.org; com=
mon-dev@helixcommunity.org; clientapps-dev@helixcommunity.org; nokia-privat=
e-dev@helixcommunity.org; Baheti Shubham (Nokia-SD/SiliconValley)
Subject: Re: [Nokia-private-dev] CR: Enabling HD Streaming through http fil=
esystem

Looks good.

I'm sure other platforms (say, android) can also benefit with this change i=
n http streaming of high bit-rate contents.

Qiang

On 4/13/2011 5:18 PM, girish.shetty@nokia.com<mailto:girish.shetty@nokia.co=
m> wrote:
"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:  Shubham.Baheti@nokia.com<mailto:girish.shetty@nokia.com>

Reviewed by:

Date:  04/13/2011

Project:  SymbianMmf_wm, Symbian_client_apps

Error Id:  NA

Synopsis:  Enabling HD Streaming through http filesystem


Overview:



Currently, when we stream HD contents through http, we get continuous buffe=
ring after every 2-3 seconds of data.

This is caused by not prerolling/buffering enough data by the filesystem be=
fore giving the data back to the player.

And also, HTTP Buffer Ahead Amount and HTTP Memory Cache Size defined curre=
ntly is not suffeciant enough for reading and buffering enough data from th=
e server.



There is also a bug in the HTTP parser, for the Key Value pair which comes =
as part of the HTTP response.

When the client select HD content, server redirects with a new URI (for the=
 HD content), which contains ',' as part of the URI and current parser uses=
 ',' as the delimiter for the next Value.





Solution:



Increased TCP read buffer size from 1.5K to 64K (which is the MAX size of I=
P Packet)

And also increased MAX BUFFER before Process Idle to 1 MB compare to earlie=
r value of 64 KB



All these changes are protected under SYMBIAN flag, so that it won't break =
the functionality of other platforms.

Also, taken care of a possible memory leak in case of error case in base co=
ntroller.

Files added:
NONE


Files modified:



/cvsroot/clientapps/symbiancommon/config/R1_Mobile_4_0_Factory.cfg

/cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.cpp

/cvsroot/common/include/hxnet.h

/cvsroot/filesystem/http/httpfsys.cpp

/cvsroot/protocol/http/httppars.cpp


Image size and heap use impact:  Negligible

Module release testing (STIF):

Test case(s) added:  No

Memory leak check performed:  NA

Platforms and profiles build verified:  helix-client-s60-52-mmf-mdf-dsp, he=
lix-client-symbian-4

Platforms and profiles functionality verified:  armv5

Branch:  210CayS, 420Brizo, HEAD

Diff: <attached>




[Attachment #3 (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:x="urn:schemas-microsoft-com:office:excel" \
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;}
@font-face
	{font-family:Tahoma;
	panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";
	color:black;}
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";
	color:black;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:"Courier New";}
span.EmailStyle19
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.EmailStyle20
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle21
	{mso-style-type:personal;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
span.EmailStyle22
	{mso-style-type:personal-reply;
	font-family:"Calibri","sans-serif";
	color:#1F497D;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@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 bgcolor="white" lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="color:#1F497D">Thanks Qiang, this is checked in to \
Cayenns_210, Brizo_420 and Head.<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">I had missed a change in the original \
diff<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">-#define \
MEM_CACHE_TRIM_THRESHOLD_DENOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; \
4<o:p></o:p></span></p> <p class="MsoNormal"><span style="color:#1F497D">&#43;#ifdef \
SYMBIAN<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">&#43;#define \
MEM_CACHE_TRIM_THRESHOLD_DENOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; \
10<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">&#43;#else<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">&#43;#define \
MEM_CACHE_TRIM_THRESHOLD_DENOM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; \
4<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">&#43;#endif<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">Regards<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D">Girish<o:p></o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <p class="MsoNormal"><span \
style="color:#1F497D"><o:p>&nbsp;</o:p></span></p> <div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span \
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext">From:</span></b><span \
style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;;color:windowtext"> \
ext Qiang Luo [mailto:qluo@real.com] <br>
<b>Sent:</b> Wednesday, April 13, 2011 7:23 PM<br>
<b>To:</b> Shetty Girish (Nokia-SD/SiliconValley)<br>
<b>Cc:</b> filesystem-dev@helixcommunity.org; protocol-dev@helixcommunity.org; \
common-dev@helixcommunity.org; clientapps-dev@helixcommunity.org; \
nokia-private-dev@helixcommunity.org; Baheti Shubham (Nokia-SD/SiliconValley)<br> \
<b>Subject:</b> Re: [Nokia-private-dev] CR: Enabling HD Streaming through http \
filesystem<o:p></o:p></span></p> </div>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Looks good.<br>
<br>
I'm sure other platforms (say, android) can also benefit with this change in http \
streaming of high bit-rate contents.<br> <br>
Qiang<br>
<br>
On 4/13/2011 5:18 PM, <a \
href="mailto:girish.shetty@nokia.com">girish.shetty@nokia.com</a> wrote: \
<o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">&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;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Modified by:&nbsp; \
<u>Shubham.Baheti<a href="mailto:girish.shetty@nokia.com"><span \
style="color:windowtext">@nokia.com</span></a></u></span><o:p></o:p></p> <p \
class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Reviewed by:&nbsp; \
</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Date:&nbsp; \
04/1</span><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;;color:#1F497D">3</span><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">/2011</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Project:&nbsp; \
SymbianMmf_wm, Symbian_client_apps</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Error Id:&nbsp; \
NA</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Synopsis:&nbsp; Enabling \
HD Streaming through http filesystem</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <pre>Overview:&nbsp; <o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>Currently, when we stream HD contents through http, we get continuous buffering \
after every 2-3 seconds of data.<o:p></o:p></pre> <pre>This is caused by not \
prerolling/buffering enough data by the filesystem before giving the data back to the \
player.<o:p></o:p></pre> <pre>And also, HTTP Buffer Ahead Amount and HTTP Memory \
Cache Size defined currently is not suffeciant enough for reading and buffering \
enough data from the server.<o:p></o:p></pre> <pre>&nbsp;<o:p></o:p></pre>
<pre>There is also a bug in the HTTP parser, for the Key Value pair which comes as \
part of the HTTP response.<o:p></o:p></pre> <pre>When the client select HD content, \
server redirects with a new URI (for the HD content), which contains &#8216;,&#8217; \
as part of the URI and current parser uses &#8216;,&#8217; as the delimiter for the \
next Value.<o:p></o:p></pre> <pre>&nbsp;<o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>Solution:&nbsp; <o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>Increased TCP read buffer size from 1.5K to 64K (which is the MAX size of IP \
Packet)<o:p></o:p></pre> <pre>And also increased MAX BUFFER before Process Idle to 1 \
MB compare to earlier value of 64 KB<o:p></o:p></pre> <pre>&nbsp;<o:p></o:p></pre>
<pre>All these changes are protected under SYMBIAN flag, so that it won&#8217;t break \
the functionality of other platforms.<o:p></o:p></pre> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Also, taken care of a \
possible memory leak in case of error case in base controller.</span><o:p></o:p></p> \
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Files added:&nbsp; \
</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">NONE</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <pre>Files modified:&nbsp; <o:p></o:p></pre>
<pre>&nbsp;<o:p></o:p></pre>
<pre>/cvsroot/clientapps/symbiancommon/config/R1_Mobile_4_0_Factory.cfg \
<o:p></o:p></pre> <pre>/cvsroot/clientapps/symbianMmf/common/hxmmfbasectrl.cpp \
<o:p></o:p></pre> <pre>/cvsroot/common/include/hxnet.h<o:p></o:p></pre>
<pre>/cvsroot/filesystem/http/httpfsys.cpp<o:p></o:p></pre>
<pre>/cvsroot/protocol/http/httppars.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"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Image size and heap use \
impact: &nbsp;Negligible</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Module release testing \
(STIF):&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Test case(s) \
added:&nbsp; No&nbsp; </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Memory leak check \
performed: &nbsp;NA</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Platforms and profiles \
build verified: &nbsp;helix-client-s60-52-mmf-mdf-dsp, \
helix-client-symbian-4</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Platforms and profiles \
functionality verified: &nbsp;armv5 </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Branch: &nbsp;210CayS, \
420Brizo, HEAD </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier New&quot;">Diff: \
&lt;attached&gt;</span><o:p></o:p></p> <p class="MsoNormal"><span \
style="font-size:10.0pt;font-family:&quot;Courier \
New&quot;">&nbsp;</span><o:p></o:p></p> <p class="MsoNormal">&nbsp;<o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:&quot;Times New \
Roman&quot;,&quot;serif&quot;"><o:p>&nbsp;</o:p></span></p> </div>
</body>
</html>



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

--===============0561642796==--


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

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