From e2d7dc87df0c1e261e4a3fe082d192a7a798d4d5 Mon Sep 17 00:00:00 2001 From: Mike Williams Date: Wed, 18 May 2011 09:14:22 -0400 Subject: [PATCH] ffserver: move close_connection() call to avoid a temporary string and copy. Signed-off-by: Mike Williams Signed-off-by: Anton Khirnov --- ffserver.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/ffserver.c b/ffserver.c index b95a854363..56bcba58f7 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); }