diff options
author | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-09-10 14:04:53 +0200 |
---|---|---|
committer | Wim Taymans <wim.taymans@collabora.co.uk> | 2009-09-10 14:04:53 +0200 |
commit | ca3b91b2d09330085b690a599fe0411aca95fe1e (patch) | |
tree | d2cc1fa7acf69817589c049c3a8160786e532ccc | |
parent | 35cddfb1e3ddc6513c7daca093d72151a13e9342 (diff) |
rtsp: don't return EPARSE
Don't blindly return EPARSE when http mode is disabled.
Restore old http mode after temporarily setting it to TRUE.
-rw-r--r-- | gst-libs/gst/rtsp/gstrtspconnection.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gst-libs/gst/rtsp/gstrtspconnection.c b/gst-libs/gst/rtsp/gstrtspconnection.c index 6b27753f2..8728a0046 100644 --- a/gst-libs/gst/rtsp/gstrtspconnection.c +++ b/gst-libs/gst/rtsp/gstrtspconnection.c @@ -637,6 +637,7 @@ setup_tunneling (GstRTSPConnection * conn, GTimeVal * timeout) gchar *hostparam; GstRTSPMessage *msg; GstRTSPMessage response; + gboolean old_http; memset (&response, 0, sizeof (response)); gst_rtsp_message_init (&response); @@ -692,10 +693,11 @@ setup_tunneling (GstRTSPConnection * conn, GTimeVal * timeout) /* we need to temporarily set manual_http to TRUE since * gst_rtsp_connection_receive() will treat the HTTP response as a parsing * failure otherwise */ + old_http = conn->manual_http; conn->manual_http = TRUE; GST_RTSP_CHECK (gst_rtsp_connection_receive (conn, &response, timeout), read_failed); - conn->manual_http = FALSE; + conn->manual_http = old_http; if (response.type != GST_RTSP_MESSAGE_HTTP_RESPONSE || response.type_data.response.code != GST_RTSP_STS_OK) @@ -3066,7 +3068,6 @@ gst_rtsp_source_dispatch (GSource * source, GSourceFunc callback G_GNUC_UNUSED, watch->message.type_data.response.version = GST_RTSP_VERSION_INVALID; } - res = GST_RTSP_EPARSE; } if (G_LIKELY (res == GST_RTSP_OK)) { |