<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=big5">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:新細明體;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:微軟正黑體;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@微軟正黑體";}
@font-face
        {font-family:"\@新細明體";
        panose-1:2 1 6 1 0 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"新細明體",serif;}
span.EmailStyle18
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
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="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Dear Sir,<o:p></o:p></p>
<p class="MsoNormal">While talking about RTSP over HTTP, I think the original idea should be from a proposal for QuickTime:<o:p></o:p></p>
<p class="MsoNormal"><a href="https://opensource.apple.com/source/QuickTimeStreamingServer/QuickTimeStreamingServer-412.42/Documentation/RTSP_Over_HTTP.pdf">https://opensource.apple.com/source/QuickTimeStreamingServer/QuickTimeStreamingServer-412.42/Documentation/RTSP_Over_HTTP.pdf</a><o:p></o:p></p>
<p class="MsoNormal">I wonder if this protocol has been adopted as a standard (check this:
<a href="https://tools.ietf.org/html/draft-gentric-avt-rtsp-http-00">https://tools.ietf.org/html/draft-gentric-avt-rtsp-http-00</a>)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">According the original paper, QuickTime utilize “HTTP/1.0” to define the HTTP tunnel for the RTSP rather than “HTTP/1.1”.<o:p></o:p></p>
<p class="MsoNormal">However, I found in live555’s implements, both client and server use HTTP/1.1 instead.
<o:p></o:p></p>
<p class="MsoNormal">And, this leads a problem. In HTTP/1.1, the standard requires all the implement should support “chunked” transfer-coding.<o:p></o:p></p>
<p class="MsoNormal">Please check “4.4 Message Length, item 4” in HTTP 1.1 RFC2616 as follow:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:13.5pt;color:black">All HTTP/1.1 applications that receive entities MUST accept the "chunked" transfer-coding (section 3.6), thus allowing this mechanism to be used for messages when the message length cannot be determined
 in advance.</span><span style="color:#1F497D"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Unfortunately, the current live555 version does not support chunked transfer-coding since the header of http tunneling marks “HTTP/1.1”.<o:p></o:p></p>
<p class="MsoNormal">A better way is, either live555 use HTTP/1.0 instead, or to support chunked transfer-coding with HTTP/1.1.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Do you think is it possible to let the community to make this change?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best regards,<o:p></o:p></p>
<p class="MsoNormal">David Yang<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Digital Surveillance Software Dept. I<br>
Alpha Networks Inc.<br>
Tel: 886-2-77206006 ext.3858<br>
Mobile: 886-988335406<br>
E-mail: <a href="mailto:david_yang@alphanetworks.com"><span style="color:blue">david_yang@alphanetworks.com</span></a><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<h3></h3>
<p>This electronic mail transmission is intended only for the named recipient. It contains information which may be privileged,confidential and exempt from disclosure under applicable law. Dissemination, distribution, or copying of this communication by anyone
 other than the recipient or the recipient's agent is strictly prohibited. If this electronic mail transmission is received in error, Please notify us immediately and delete the message and all attachments of it from your computer system. Thank you for your
 cooperation. </p>
<p></p>
</body>
</html>