[Live-devel] [vlc-devel] RTSP: Failure to recover from long PAUSE
Paul Clark
paul at packetship.com
Wed Jun 24 07:29:42 PDT 2015
[Switched from vlc-devel because this part really is just live555-specific]
On 24/06/15 14:26, Ross Finlayson wrote:
> That’s odd. I tested against a MP3 stream (file), and in that case
> VLC sent a “PAUSE” command when I clicked the pause button. But it
> didn’t when I tried streaming from a MPEG Transport Stream file, or
> from a raw H.264 file. Go figure...
I think it's because in the case of MP3 your server does return the
duration:
a=range:npt=0-88.451
But you're right that this doesn't trigger the problem. It's because
your server returns a body to GET_PARAMETER, whereas ours doesn't, and
hence yours avoids the buffering issue identified in my patch today. If
you patch your server to return an empty body (after all, it wasn't
actually asked for any parameters :-) ) then you will see the issue:
diff --git a/liveMedia/RTSPServer.cpp b/liveMedia/RTSPServer.cpp
index 4a54c5b..c75325e 100644
--- a/liveMedia/RTSPServer.cpp
+++ b/liveMedia/RTSPServer.cpp
@@ -2030,7 +2030,7 @@ void RTSPServer::RTSPClientSession
// By default, we implement "GET_PARAMETER" just as a 'keep alive',
and send back a dummy response.
// (If you want to handle "GET_PARAMETER" properly, you can do so by
defining a subclass of "RTSPServer"
// and "RTSPServer::RTSPClientSession", and then reimplement this
virtual function in your subclass.)
- setRTSPResponse(ourClientConnection, "200 OK", fOurSessionId,
LIVEMEDIA_LIBRARY_VERSION_STRING);
+ setRTSPResponse(ourClientConnection, "200 OK", fOurSessionId, "");
}
Reproduce: Play an RTSP mp3 from VLC, pause, wait for two
GET_PARAMETERS, then try to resume
However, the fundamental problem is that VLC doesn't call your
doEventLoop() during PAUSE - working on that now.
Best regards
Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20150624/8e4b1952/attachment.html>
More information about the live-devel
mailing list