[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-server-cvs
Subject:    [Server-cvs] protocol/rtsp rtspserv.cpp,1.272,1.273
From:       seansmith () helixcommunity ! org
Date:       2007-06-29 23:15:08
Message-ID: 200706292315.l5TNFIwd018082 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/server/protocol/rtsp
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv16548

Modified Files:
	rtspserv.cpp 
Log Message:
Committing 2 CA fixes for Darrick. Committed to HEAD, BORABORA


Index: rtspserv.cpp
===================================================================
RCS file: /cvsroot/server/protocol/rtsp/rtspserv.cpp,v
retrieving revision 1.272
retrieving revision 1.273
diff -u -d -r1.272 -r1.273
--- rtspserv.cpp	28 Jun 2007 19:05:47 -0000	1.272
+++ rtspserv.cpp	29 Jun 2007 23:15:05 -0000	1.273
@@ -161,45 +161,45 @@
 };
 
 // Allowed methods in flag form for protocol state table lookup
-static BOOL g_bAllowedMethods[14][4] =
+static BOOL g_bAllowedMethods[14][5] =
 {
-    //INIT   READY  PLAY   REC
-    //=====  =====  =====  =====
-    { FALSE, FALSE, FALSE, FALSE },     // RTSP_VERB_NONE
-    { TRUE,  TRUE,  FALSE, FALSE },     // RTSP_VERB_ANNOUNCE
-    { TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_DESCRIBE
-    { TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_GETPARAM
-    { TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_OPTIONS
-    { FALSE, TRUE,  TRUE,  TRUE  },     // RTSP_VERB_PAUSE
-    { FALSE, TRUE,  TRUE,  FALSE },     // RTSP_VERB_PLAY
-    { FALSE, TRUE,  FALSE, TRUE  },     // RTSP_VERB_RECORD
-    { FALSE, FALSE, FALSE, FALSE },     // RTSP_VERB_REDIRECT
-    { TRUE,  TRUE,  FALSE, FALSE },     // RTSP_VERB_SETUP
-    { TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_SETPARAM
-    { TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_TEARDOWN
-    { FALSE, FALSE, TRUE,  FALSE },      // RTSP_VERB_PLAYNOW
-    { TRUE,  TRUE,  TRUE,  TRUE  }      // RTSP_VERB_EXTENSION
+    //INIT   READY  PLAY   REC    KILLED
+    //=====  =====  =====  =====  ======
+    { FALSE, FALSE, FALSE, FALSE, FALSE },     // RTSP_VERB_NONE
+    { TRUE,  TRUE,  FALSE, FALSE, FALSE },     // RTSP_VERB_ANNOUNCE
+    { TRUE,  TRUE,  TRUE,  TRUE,  FALSE },     // RTSP_VERB_DESCRIBE
+    { TRUE,  TRUE,  TRUE,  TRUE,  FALSE },     // RTSP_VERB_GETPARAM
+    { TRUE,  TRUE,  TRUE,  TRUE,  FALSE },     // RTSP_VERB_OPTIONS
+    { FALSE, TRUE,  TRUE,  TRUE,  FALSE },     // RTSP_VERB_PAUSE
+    { FALSE, TRUE,  TRUE,  FALSE, FALSE },     // RTSP_VERB_PLAY
+    { FALSE, TRUE,  FALSE, TRUE,  FALSE },     // RTSP_VERB_RECORD
+    { FALSE, FALSE, FALSE, FALSE, FALSE },     // RTSP_VERB_REDIRECT
+    { TRUE,  TRUE,  FALSE, FALSE, FALSE },     // RTSP_VERB_SETUP
+    { TRUE,  TRUE,  TRUE,  TRUE,  FALSE },     // RTSP_VERB_SETPARAM
+    { TRUE,  TRUE,  TRUE,  TRUE,  TRUE  },     // RTSP_VERB_TEARDOWN
+    { FALSE, FALSE, TRUE,  FALSE, FALSE },     // RTSP_VERB_PLAYNOW
+    { TRUE,  TRUE,  TRUE,  TRUE,  FALSE }      // RTSP_VERB_EXTENSION
 };
 
 // State transition table (used only if handler is successful)
-static RTSPServerProtocol::State g_nNextState[14][4] =
+static RTSPServerProtocol::State g_nNextState[14][5] =
 {
-    //INIT                           READY                          PLAY             \
                REC
-    //=========                      =========                      =========        \
                =========
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
                RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     \
                // RTSP_VERB_NONE
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_ANNOUNCE
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_DESCRIBE
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_GETPARAM
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_OPTIONS
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::READY,     \
RTSPServerProtocol::READY,     RTSPServerProtocol::READY     },     // \
                RTSP_VERB_PAUSE
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::PLAYING,   \
                RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     \
                // RTSP_VERB_PLAY
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::RECORDING, \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_RECORD
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_REDIRECT
-    { RTSPServerProtocol::READY,     RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_SETUP
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_SETPARAM
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_TEARDOWN
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
                RTSP_VERB_PLAYNOW
-    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE      },     // \
RTSP_VERB_EXTENSION +    //INIT                           READY                       \
PLAY                           REC                            KILLED +    //========= \
=========                      =========                      =========               \
======== +    { RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_NONE +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_ANNOUNCE +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_DESCRIBE +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_GETPARAM +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_OPTIONS +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::READY,     \
RTSPServerProtocol::READY,     RTSPServerProtocol::READY,     \
RTSPServerProtocol::NONE      },     // RTSP_VERB_PAUSE +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::PLAYING,   \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_PLAY +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::RECORDING, \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_RECORD +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_REDIRECT +    { \
RTSPServerProtocol::READY,     RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_SETUP +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_SETPARAM +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_TEARDOWN +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_PLAYNOW +    { \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE,      RTSPServerProtocol::NONE,      \
RTSPServerProtocol::NONE      },     // RTSP_VERB_EXTENSION  };
 
 /*
@@ -12422,14 +12422,15 @@
 RTSPServerProtocol::HandleTeardownRequest(const char* pSessionID)
 {
     ClientSession* pSession = m_pClient->FindSession(pSessionID);
+
     if (pSession)
     {
-        /// calls ClientSession::Done which updates the stats and 
-        /// does other cleanup
-        m_pClient->RemoveSession(pSessionID, HXR_OK);
-
-        /// We can release our ref on the transport, the player is done with it
+        // We can release our ref on the transport, the player is done with it
         releaseTransports(pSession);
+
+        // calls ClientSession::Done which updates the stats and 
+        // does other cleanup
+        m_pClient->RemoveSession(pSessionID, HXR_OK);
     }
 
     return HXR_OK;


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic