appsrc: Actually store any URI that is set and return this when asked for the URI

This commit is contained in:
Sebastian Dröge 2012-06-21 11:12:11 +01:00
parent fcc1e1f457
commit df63268e5a

View file

@ -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;
}