[Protocol-dev] RTSP Question about 501 Not Implemented Response from Helix Server
Rishi Mathew rmathew at real.comHi Shy,
I think the reason the server is sending back the "Not Implemented" error,
is because there is no intermediate PAUSE request. Historically, a seek
operation was implemented as a PAUSE-PLAY operation. The RTSP 1.0 spec is
quite unclear about this and does not really specify what should be done,
although it does not disallow this operation. However, it does mention that
if a PLAY operation is in progress, a subsequent PLAY method can be ignored.
Here are two snippets from the original spec:
*****************************************************************************************
The PLAY request positions the normal play time to the beginning of
the range specified and delivers stream data until the end of the
range is reached. PLAY requests may be pipelined (queued); a server
MUST queue PLAY requests to be executed in order. That is, a PLAY
request arriving while a previous PLAY request is still active is
delayed until the first has been completed.
*****************************************************************************************
*****************************************************************************
if a server has received requests to play ranges
10 to 15 and then 13 to 20 (that is, overlapping ranges), the PAUSE
request for NPT=14 would take effect while the server plays the first
range, with the second PLAY request effectively being ignored,
assuming the PAUSE request arrives before the server has started
playing the second, overlapping range. Regardless of when the PAUSE
request arrives, it sets the NPT to 14.
*****************************************************************************
The RTSP 2.0 spec (which is still work in progress), has clearer language
about this and explicitly allows this kind of operation.
To summarize, if the Helix DNA Client is not pausing before playing ( from
the seeked-to location), it is probably a bug and must be fixed.
Thanks,
Rishi.
At 03:36 PM 11/2/2005, Shy.Ward at nokia.com wrote:
>I am hoping someone can answer my question regarding a problem I'm
>having.
>
>Setup:
>
>Server: Helix Mobile Server Version 10.0.6.1882
>(linux-2.2-libc6-i586-server) (RealServer compatible)
>User-Agent: RealMedia Player (HelixDNAClient)/10.0.0.6006 (symbian)
>
>Sequence:
>While streaming a H263 file on a Symbian device I PAUSE the clip.
>I seek forward. Wait.
>I seek forward again. (without unpausing)
>The server returns a 501 not implemented.
>
>My question(s):
>Is this normal operation? Does the server require another pause before
>the second seek?
>This does not seem to happen on a QT server and also does not seem to be
>a problem with rm format.
>
>Thank you in advance for any information you may have. I have included a
>log file that was captured on the server.
>
>Regards,
>
>Shy Ward
>Nokia
>
> <<shy_rtsp.log>>
>
>
>_______________________________________________
>Protocol-dev mailing list
>Protocol-dev at helixcommunity.org
>http://lists.helixcommunity.org/mailman/listinfo/protocol-dev
Rishi Mathew
Software Development Engineer
Helix Community
RealNetworks, Inc.
rmathew at real.com
http://www.helixcommunity.org
http://www.realnetworks.com/products/support/devsupport.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.helixcommunity.org/pipermail/protocol-dev/attachments/20051102/3b176fed/attachment.html