[FFmpeg-cvslog] ffserver: move close_connection() call to avoid a temporary string and copy .

Mike Williams git at videolan.org
Fri May 27 02:53:56 CEST 2011


ffmpeg | branch: master | Mike Williams <mike at mikebwilliams.com> | Wed May 18 09:14:22 2011 -0400| [e2d7dc87df0c1e261e4a3fe082d192a7a798d4d5] | committer: Anton Khirnov

ffserver: move close_connection() call to avoid a temporary string and copy.

Signed-off-by: Mike Williams <mike at mikebwilliams.com>
Signed-off-by: Anton Khirnov <anton at khirnov.net>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e2d7dc87df0c1e261e4a3fe082d192a7a798d4d5
---

 ffserver.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/ffserver.c b/ffserver.c
index b95a854..56bcba5 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -3274,7 +3274,6 @@ static void rtsp_cmd_pause(HTTPContext *c, const char *url, RTSPMessageHeader *h
 static void rtsp_cmd_teardown(HTTPContext *c, const char *url, RTSPMessageHeader *h)
 {
     HTTPContext *rtp_c;
-    char session_id[32];
 
     rtp_c = find_rtp_session_with_url(url, h->session_id);
     if (!rtp_c) {
@@ -3282,16 +3281,14 @@ static void rtsp_cmd_teardown(HTTPContext *c, const char *url, RTSPMessageHeader
         return;
     }
 
-    av_strlcpy(session_id, rtp_c->session_id, sizeof(session_id));
-
-    /* abort the session */
-    close_connection(rtp_c);
-
     /* now everything is OK, so we can send the connection parameters */
     rtsp_reply_header(c, RTSP_STATUS_OK);
     /* session ID */
-    avio_printf(c->pb, "Session: %s\r\n", session_id);
+    avio_printf(c->pb, "Session: %s\r\n", rtp_c->session_id);
     avio_printf(c->pb, "\r\n");
+
+    /* abort the session */
+    close_connection(rtp_c);
 }
 
 



More information about the ffmpeg-cvslog mailing list