[Live-devel] SET_PARAMETER doesn't get handled in the RTSPServer over TCP
Jer Morrill
Jeremiah.Morrill at econnect.tv
Mon Dec 19 17:25:29 PST 2011
Thanks for the quick response!
I have attached a client debug output and server debug output text files (hope that's ok for this list). These are from the same rtsp session.
Though the log does say RTSPServer::RTSPClientSession::handleRequestBytes(...) does say "parseRTSPRequestString() succeed...", it does not pass the next check:
if (ptr + newBytesRead < tmpPtr + 2 + contentLength) break; // we still need more data; subsequent reads will give it to us
At the point of the content length check the buffer looks like this:
SET_PARAMETER rtsp://127.0.0.1/media?dev=1&source=archive&startTime=129661319116046065/ RTSP/1.0
CSeq: 6
User-Agent: HJT RTSP Client (LIVE555 Streaming Media v2011.12.02)
Session: CA195293
Content-Length: 30
The complete command should also have (\r's and \n's excluded):
GotoTime: 1234567890
It does get these "GotoTime..." bytes afterwards the next calls to "handleRequestBytes", but the server never successfully parses the SET_PARAMETER command in RTP over TCP. Totally weird other messages get through just fine.
Thanks again for all your help! Hope this is reproducible for you as I hate to send anyone on a wild goose chase!
-Jer
From: live-devel-bounces at ns.live555.com [mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Monday, December 19, 2011 3:45 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] SET_PARAMETER doesn't get handled in the RTSPServer over TCP
I am running the 12-2-2011 build of Live555. When I run RTSPClient::sendSetParameter(...) with a session that is running UDP to a live555 server implementation, the server parses and successfully runs the RTSPClientSession:: handleCmd_SET_PARAMETER (overridden in a subclass). If I run RTSPClient:sendSetParameter(...) with a session that is running via TCP, it does not ever get to the RTSPClientSession::handleCmd_SET_PARAMETER. Seems sending trickplay commands work fine in both TCP and UDP.
That's strange. (It's especially strange that other commands - e.g., "PLAY" - work OK for you in RTP-over-TCP mode, but that "SET_PARAMETER" does not.)
I can provide more debug details if needed
Yes, please add
#define DEBUG 1
to the start of "liveMedia/RTSPServer.cpp", recompile and rerun your server, and access it both with a RTP-over-UDP client, and with a RTP-over-TCP client. Please send us the debugging output in each case.
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/20111220/4a3ff721/attachment-0001.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: clientdebugout.txt
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111220/4a3ff721/attachment-0002.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: serverdebugout.txt
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111220/4a3ff721/attachment-0003.txt>
More information about the live-devel
mailing list