summaryrefslogtreecommitdiffstats
path: root/gst/rtsp/gstrtspsrc.c
diff options
context:
space:
mode:
Diffstat (limited to 'gst/rtsp/gstrtspsrc.c')
-rw-r--r--gst/rtsp/gstrtspsrc.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c
index fea449fe..94977517 100644
--- a/gst/rtsp/gstrtspsrc.c
+++ b/gst/rtsp/gstrtspsrc.c
@@ -604,8 +604,13 @@ gst_rtspsrc_open (GstRTSPSrc * src)
continue;
}
- /* FIXME, check absolute/relative URL */
- setup_url = g_strdup_printf ("%s/%s", src->location, control_url);
+ /* check absolute/relative URL */
+ /* FIXME, what if the control_url starts with a '/' or a non rtsp: protocol? */
+ if (g_str_has_prefix (control_url, "rtsp://")) {
+ setup_url = g_strdup (control_url);
+ } else {
+ setup_url = g_strdup_printf ("%s/%s", src->location, control_url);
+ }
GST_DEBUG ("setup %s", setup_url);
/* create SETUP request */