<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    [Switched from vlc-devel because this part really is just
    live555-specific]<br>
    <br>
    On 24/06/15 14:26, Ross Finlayson wrote:<br>
    <blockquote
      cite="mid:51DB4CAC-F24C-4952-9CB3-7E85CF785C89@live555.com"
      type="cite">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <div>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...</div>
    </blockquote>
    <br>
    I think it's because in the case of MP3 your server does return the
    duration:<br>
    <br>
      a=range:npt=0-88.451<br>
    <br>
    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:<br>
    <br>
    diff --git a/liveMedia/RTSPServer.cpp b/liveMedia/RTSPServer.cpp<br>
    index 4a54c5b..c75325e 100644<br>
    --- a/liveMedia/RTSPServer.cpp<br>
    +++ b/liveMedia/RTSPServer.cpp<br>
    @@ -2030,7 +2030,7 @@ void RTSPServer::RTSPClientSession<br>
       // By default, we implement "GET_PARAMETER" just as a 'keep
    alive', and send back a dummy response.<br>
       // (If you want to handle "GET_PARAMETER" properly, you can do so
    by defining a subclass of "RTSPServer"<br>
       // and "RTSPServer::RTSPClientSession", and then reimplement this
    virtual function in your subclass.)<br>
    -  setRTSPResponse(ourClientConnection, "200 OK", fOurSessionId,
    LIVEMEDIA_LIBRARY_VERSION_STRING);<br>
    +  setRTSPResponse(ourClientConnection, "200 OK", fOurSessionId,
    "");<br>
     }<br>
    <br>
    Reproduce: Play an RTSP mp3 from VLC, pause, wait for two
    GET_PARAMETERS, then try to resume<br>
    <br>
    However, the fundamental problem is that VLC doesn't call your
    doEventLoop() during PAUSE - working on that now.<br>
    <br>
    Best regards<br>
    <br>
    Paul<br>
    <br>
    <br>
    <br>
  </body>
</html>