rtspsrc: answer URI query
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 21 Sep 2012 20:54:36 +0000 (21:54 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Fri, 21 Sep 2012 22:33:47 +0000 (23:33 +0100)
Without this, something also answered the query
with TRUE but without setting a uri, not sure
what that was..

gst/rtsp/gstrtspsrc.c

index 3a1d538..b3af06f 100644 (file)
@@ -265,6 +265,7 @@ static GstRTSPResult gst_rtspsrc_close (GstRTSPSrc * src, gboolean async,
 
 static gboolean gst_rtspsrc_uri_set_uri (GstURIHandler * handler,
     const gchar * uri, GError ** error);
+static gchar *gst_rtspsrc_uri_get_uri (GstURIHandler * handler);
 
 static gboolean gst_rtspsrc_activate_streams (GstRTSPSrc * src);
 static gboolean gst_rtspsrc_loop (GstRTSPSrc * src);
@@ -2100,6 +2101,18 @@ gst_rtspsrc_handle_src_query (GstPad * pad, GstObject * parent,
       }
       break;
     }
+    case GST_QUERY_URI:
+    {
+      gchar *uri;
+
+      uri = gst_rtspsrc_uri_get_uri (GST_URI_HANDLER (src));
+      if (uri != NULL) {
+        gst_query_set_uri (query, uri);
+        g_free (uri);
+        res = TRUE;
+      }
+      break;
+    }
     default:
     {
       GstPad *target = gst_ghost_pad_get_target (GST_GHOST_PAD_CAST (pad));