-/* GStreamer
- *
+/* GStreamer data:// uri source element
* Copyright (C) 2009 Igalia S.L
* Copyright (C) 2009 Sebastian Dröge <sebastian.droege@collabora.co.uk>
*
/**
* SECTION:element-dataurisrc
+ * @title: dataurisrc
+ *
+ * dataurisrc handles data: URIs, see [RFC 2397](http://tools.ietf.org/html/rfc2397) for more information.
*
- * dataurisrc handles data: URIs, see <ulink url="http://tools.ietf.org/html/rfc2397">RFC 2397</ulink> for more information.
+ * ## Example launch line
*
- * <refsect2>
- * <title>Example launch line</title>
* |[
- * gst-launch-0.10 -v dataurisrc uri="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAfElEQVQ4je2MwQnAIAxFgziA4EnczIsO4MEROo/gzZWc4xdTbe1R6LGRR74heYS7iKElzfcMiRnt4hf8gk8EayB6luefue/HzlJfCA50XsNjYRxprZmenXNIKSGEsC+QUqK1hhgj521BzhnWWiilUGvdF5RS4L2HMQZCCJy8sHMm2TYdJAAAAABJRU5ErkJggg==" ! pngdec ! videoconvert ! freeze ! videoconvert ! autovideosink
- * ]| This pipeline displays a small 16x16 PNG image from the data URI.
- * </refsect2>
+ * gst-launch-1.0 -v dataurisrc uri="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAfElEQVQ4je2MwQnAIAxFgziA4EnczIsO4MEROo/gzZWc4xdTbe1R6LGRR74heYS7iKElzfcMiRnt4hf8gk8EayB6luefue/HzlJfCA50XsNjYRxprZmenXNIKSGEsC+QUqK1hhgj521BzhnWWiilUGvdF5RS4L2HMQZCCJy8sHMm2TYdJAAAAABJRU5ErkJggg==" ! pngdec ! videoconvert ! imagefreeze ! videoconvert ! autovideosink
+ * ]|
+ *
+ * This pipeline displays a small 16x16 PNG image from the data URI.
*/
#ifdef HAVE_CONFIG_H
"URI that should be used",
NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
- gst_element_class_add_pad_template (element_class,
- gst_static_pad_template_get (&src_template));
+ gst_element_class_add_static_pad_template (element_class, &src_template);
gst_element_class_set_static_metadata (element_class,
"data: URI source element", "Source", "Handles data: uris",
"Philippe Normand <pnormand@igalia.com>, "
switch (prop_id) {
case PROP_URI:
- g_value_set_string (value,
+ g_value_take_string (value,
gst_data_uri_src_get_uri (GST_URI_HANDLER (src)));
break;
default:
GstCaps *caps;
GST_OBJECT_LOCK (src);
- if (gst_pad_has_current_caps (GST_BASE_SRC_PAD (basesrc)))
- caps = gst_pad_get_current_caps (GST_BASE_SRC_PAD (basesrc));
- else
+ caps = gst_pad_get_current_caps (GST_BASE_SRC_PAD (basesrc));
+ if (!caps)
caps = gst_caps_new_any ();
GST_OBJECT_UNLOCK (src);
iface->get_uri = gst_data_uri_src_get_uri;
iface->set_uri = gst_data_uri_src_set_uri;
}
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
- return gst_element_register (plugin, "dataurisrc",
- GST_RANK_PRIMARY, GST_TYPE_DATA_URI_SRC);
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
- GST_VERSION_MINOR,
- dataurisrc,
- "data: URI source",
- plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);