From df63268e5a73866a6daa5d27f3056ee2e5d4af09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 21 Jun 2012 11:12:11 +0100 Subject: [PATCH] appsrc: Actually store any URI that is set and return this when asked for the URI --- gst-libs/gst/app/gstappsrc.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/app/gstappsrc.c b/gst-libs/gst/app/gstappsrc.c index 9da35fc80a..640c7a03ce 100644 --- a/gst-libs/gst/app/gstappsrc.c +++ b/gst-libs/gst/app/gstappsrc.c @@ -116,6 +116,7 @@ struct _GstAppSrcPrivate guint64 max_bytes; GstFormat format; gboolean block; + gchar *uri; gboolean flushing; gboolean started; @@ -551,6 +552,8 @@ gst_app_src_finalize (GObject * obj) g_cond_free (priv->cond); g_queue_free (priv->queue); + g_free (priv->uri); + G_OBJECT_CLASS (parent_class)->finalize (obj); } @@ -1649,14 +1652,20 @@ gst_app_src_uri_get_protocols (GType type) static gchar * gst_app_src_uri_get_uri (GstURIHandler * handler) { - return g_strdup ("appsrc"); + GstAppSrc *appsrc = GST_APP_SRC (handler); + + return appsrc->priv->uri ? g_strdup (appsrc->priv->uri) : NULL; } static gboolean gst_app_src_uri_set_uri (GstURIHandler * handler, const gchar * uri, GError ** error) { - /* GstURIHandler checks the protocol for us */ + GstAppSrc *appsrc = GST_APP_SRC (handler); + + g_free (appsrc->priv->uri); + appsrc->priv->uri = uri ? g_strdup (uri) : NULL; + return TRUE; }