rtsp: Avoid duplicated headers.
authorPeter Kjellerstedt <pkj@axis.com>
Wed, 19 Aug 2009 07:31:51 +0000 (09:31 +0200)
committerPeter Kjellerstedt <pkj@axis.com>
Wed, 19 Aug 2009 07:31:51 +0000 (09:31 +0200)
Remove any existing Session and Date headers before adding new ones
when sending a request. This may happen if the user of this code reuses
a request (rtspsrc does this when resending after authorization fails).

gst-libs/gst/rtsp/gstrtspconnection.c

index 58e5d2e..3db4f67 100644 (file)
@@ -1255,6 +1255,7 @@ message_to_string (GstRTSPConnection * conn, GstRTSPMessage * message)
           message->type_data.request.uri, conn->cseq++);
       /* add session id if we have one */
       if (conn->session_id[0] != '\0') {
+        gst_rtsp_message_remove_header (message, GST_RTSP_HDR_SESSION, -1);
         gst_rtsp_message_add_header (message, GST_RTSP_HDR_SESSION,
             conn->session_id);
       }
@@ -1296,6 +1297,7 @@ message_to_string (GstRTSPConnection * conn, GstRTSPMessage * message)
     gen_date_string (date_string, sizeof (date_string));
 
     /* add date header */
+    gst_rtsp_message_remove_header (message, GST_RTSP_HDR_DATE, -1);
     gst_rtsp_message_add_header (message, GST_RTSP_HDR_DATE, date_string);
 
     /* append headers */