gst/rtsp/gstrtspsrc.c: Post the server response code in an error message instead...
authorWim Taymans <wim.taymans@gmail.com>
Fri, 22 Feb 2008 09:56:03 +0000 (09:56 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Fri, 22 Feb 2008 09:56:03 +0000 (09:56 +0000)
Original commit message from CVS:
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams):
Post the server response code in an error message instead of a generic
'error' message. Fixes #517237.

ChangeLog
gst/rtsp/gstrtspsrc.c

index de7ee46..b071e84 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-22  Wim Taymans  <wim.taymans@collabora.co.uk>
+
+       * gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_setup_streams):
+       Post the server response code in an error message instead of a generic
+       'error' message. Fixes #517237.
+
 2008-02-22  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * tests/check/Makefile.am:
index 121cfdc..d3811de 100644 (file)
@@ -3571,6 +3571,7 @@ gst_rtspsrc_setup_streams (GstRTSPSrc * src)
   GstRTSPMessage response = { 0 };
   GstRTSPStream *stream = NULL;
   GstRTSPLowerTrans protocols;
+  GstRTSPStatusCode code;
 
   /* we initially allow all configured lower transports. based on the URL
    * transports and the replies from the server we narrow them down. */
@@ -3586,7 +3587,6 @@ gst_rtspsrc_setup_streams (GstRTSPSrc * src)
 
   for (walk = src->streams; walk; walk = g_list_next (walk)) {
     gchar *transports;
-    GstRTSPStatusCode code;
 
     stream = (GstRTSPStream *) walk->data;
 
@@ -3663,7 +3663,7 @@ gst_rtspsrc_setup_streams (GstRTSPSrc * src)
         gst_rtspsrc_stream_free_udp (stream);
         continue;
       default:
-        goto send_error;
+        goto response_error;
     }
 
     /* parse response transport */
@@ -3764,6 +3764,14 @@ setup_transport_failed:
         ("Could not setup transport."));
     goto cleanup_error;
   }
+response_error:
+  {
+    const gchar *str = gst_rtsp_status_as_text (code);
+
+    GST_ELEMENT_ERROR (src, RESOURCE, WRITE, (NULL),
+        ("Error (%d): %s", code, GST_STR_NULL (str)));
+    goto cleanup_error;
+  }
 send_error:
   {
     gchar *str = gst_rtsp_strresult (res);