]> granicus.if.org Git - rtmpdump/commitdiff
More fixes due to -r369
authorhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Sun, 21 Mar 2010 21:15:06 +0000 (21:15 +0000)
committerhyc <hyc@400ebc74-4327-4243-bc38-086b20814532>
Sun, 21 Mar 2010 21:15:06 +0000 (21:15 +0000)
git-svn-id: svn://svn.mplayerhq.hu/rtmpdump/trunk@378 400ebc74-4327-4243-bc38-086b20814532

librtmp/rtmp.c
rtmpsuck.c

index 5c9e1fee3388cea181bad29b4ea918b491e50640..8adc5a53653ee25a667ff4b9f5b0c0381174caa1 100644 (file)
@@ -2736,21 +2736,23 @@ RTMP_Close(RTMP *r)
 
   if (RTMP_IsConnected(r))
     {
-         if (r->m_stream_id > 0)
-           {
-             if ((r->Link.protocol & RTMP_FEATURE_WRITE))
-                   SendFCUnpublish(r);
-                 SendDeleteStream(r, r->m_stream_id);
-               }
-         if (r->m_clientID.av_val)
-           {
-                 HTTP_Post(r, RTMPT_CLOSE, "", 1);
-                 free(r->m_clientID.av_val);
-                 r->m_clientID.av_val = NULL;
-                 r->m_clientID.av_len = 0;
-               }
-      RTMPSockBuf_Close(&r->m_sb);
+      if (r->m_stream_id > 0)
+        {
+          if ((r->Link.protocol & RTMP_FEATURE_WRITE))
+           SendFCUnpublish(r);
+         i = r->m_stream_id;
+         r->m_stream_id = 0;
+         SendDeleteStream(r, i);
+       }
+      if (r->m_clientID.av_val)
+        {
+         HTTP_Post(r, RTMPT_CLOSE, "", 1);
+         free(r->m_clientID.av_val);
+         r->m_clientID.av_val = NULL;
+         r->m_clientID.av_len = 0;
        }
+      RTMPSockBuf_Close(&r->m_sb);
+    }
 
   r->m_stream_id = -1;
   r->m_sb.sb_socket = -1;
index 048711a097b326e2202d509c734404c52e5f067c..23a9aecc92e65b09c415cf074e3716e17a394850 100644 (file)
@@ -712,7 +712,7 @@ void doServe(STREAMING_SERVER * server,     // server socket and state (our listenin
 {
   RTMPPacket pc = { 0 }, ps = { 0 };
   RTMPChunk rk = { 0 };
-  char *buf;
+  char *buf = NULL;
   unsigned int buflen = 131072;
   bool paused = false;