[Live-devel] HTTP Live Streaming

Ross Finlayson finlayson at live555.com
Wed Oct 23 23:51:19 PDT 2013


> 1. Replies to HTTP GET requests are sometime truncated. As an example,
> curl http://serverip/somets.ts will sometimes result in only part of the playlist
> 
>     I've traced this to fNumBytesToStream is not being initialized when created in handleHTTPCmd_StreamingGET, this caused doGetNextFrame to sometimes ended prematurely. 

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).

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.


> 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.

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).

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20131023/aaa1bbfd/attachment.html>


More information about the live-devel mailing list