<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div><blockquote type="cite"><div dir="ltr"><div>1. Replies to HTTP GET requests are sometime truncated. As an example,</div><div>curl <a href="http://serverip/somets.ts">http://serverip/somets.ts</a> will sometimes result in only part of the playlist</div>
<div><br></div><div>    I've traced this to fNumBytesToStream is not being initialized when created in handleHTTPCmd_StreamingGET, this caused doGetNextFrame to sometimes ended prematurely. </div></div></blockquote><div><br></div>Are you sure??  If you are referring to the "fNumBytesToStream" variable in the "ByteStreamMemoryBufferSource" class, then note that this variable is checked only if "fLimitNumBytesToStream" is set, and in that case "fNumBytesToStream" will always be set (see "ByteStreamMemoryBufferSource.cpp", line 55).</div><div><br></div><div>I'm not saying that there can't be a bug in this code, but if there is, I don't think it's what you're describing.</div><div><br></div><div><br></div><div><blockquote type="cite"><div dir="ltr"><div>2. When streaming is in progress and client disconnected in the middle of a transfer, mediaServer will keep trying sending to the disconnected client in TCPStreamSink::processBuffer and will not respond to further requests.</div></div></blockquote><div><br></div></div>I don't see how that can happen, because the socket is non-blocking.  If the client disconnects, then the call to "send()" should return (with less than the expected number of bytes written).  At that point, the server won't try "send()"ing to the socket again until it becomes writable again (which won't ever happen if the client has disconnected).<br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>