| GStreamer 0.8 Core API Reference (0.8.4) |
|---|
GstURIHandler — Plugin feature that describes URI types and the element that handles it
enum GstURIType; #define GST_TYPE_URI_HANDLER #define GST_URI_HANDLER (obj) #define GST_IS_URI_HANDLER (obj) #define GST_URI_HANDLER_GET_INTERFACE (obj) #define GST_URI_HANDLER_CLASS (obj) struct GstURIHandler; struct GstURIHandlerInterface; gboolean gst_uri_protocol_is_valid (const gchar *protocol); gboolean gst_uri_is_valid (const gchar *uri); gchar* gst_uri_get_protocol (const gchar *uri); gchar* gst_uri_get_location (const gchar *uri); gchar* gst_uri_construct (const gchar *protocol, const gchar *location); GstElement* gst_element_make_from_uri (const GstURIType type, const gchar *uri, const gchar *elementname); guint gst_uri_handler_get_uri_type (GstURIHandler *handler); gchar** gst_uri_handler_get_protocols (GstURIHandler *handler); G_CONST_RETURN gchar* gst_uri_handler_get_uri (GstURIHandler *handler); gboolean gst_uri_handler_set_uri (GstURIHandler *handler, const gchar *uri); void gst_uri_handler_new_uri (GstURIHandler *handler, const gchar *uri);
The URIHandler is a pluginfeature that can be used to locate element and the element property that can handle a given URI.
#define GST_URI_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_URI_HANDLER, GstURIHandler))
| obj : |
#define GST_IS_URI_HANDLER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_URI_HANDLER))
| obj : |
#define GST_URI_HANDLER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_URI_HANDLER, GstURIHandlerInterface))
| obj : |
#define GST_URI_HANDLER_CLASS(obj) (G_TYPE_CHECK_CLASS_CAST ((obj), GST_TYPE_URI_HANDLER, GstURIHandler))
| obj : |
struct GstURIHandlerInterface {
GTypeInterface parent;
/* signals */
void (* new_uri) (GstURIHandler * handler,
const gchar * uri);
/* idea for the future ?
gboolean (* require_password) (GstURIHandler * handler,
gchar ** username,
gchar ** password);
*/
/* vtable */
/* querying capabilities */
GstURIType (* get_type) (void);
gchar ** (* get_protocols) (void);
/* using the interface */
G_CONST_RETURN gchar *(* get_uri) (GstURIHandler * handler);
gboolean (* set_uri) (GstURIHandler * handler,
const gchar * uri);
/* we might want to add functions here to query features, someone with gnome-vfs knowledge go ahead */
gpointer _gst_reserved[GST_PADDING];
};
gboolean gst_uri_protocol_is_valid (const gchar *protocol);
Tests if the given string is a valid protocol identifier. Protocols must consist of alphanumeric characters and not start with a number.
| protocol : | string to check |
| Returns : | TRUE if the string is a valid protocol identifier |
gboolean gst_uri_is_valid (const gchar *uri);
Tests if the given string is a valid URI identifier. URIs start with a valid protocol followed by "://" and a string identifying the location.
| uri : | string to check |
| Returns : | TRUE if the string is a valid URI |
gchar* gst_uri_get_protocol (const gchar *uri);
Extracts the protocol out of a given valid URI. The returned string must be freed using g_free().
| uri : | URI to get protocol from |
| Returns : | The protocol for this URI. |
gchar* gst_uri_get_location (const gchar *uri);
Extracts the location out of a given valid URI. So the protocol and "://" are stripped from the URI. The returned string must be freed using g_free().
| uri : | URI to get the location from |
| Returns : | The location for this URI. |
gchar* gst_uri_construct (const gchar *protocol,
const gchar *location);Constructs a URI for a given valid protocol and location.
| protocol : | protocol for URI |
| location : | location for URI |
| Returns : | a new string for this URI |
GstElement* gst_element_make_from_uri (const GstURIType type, const gchar *uri, const gchar *elementname);
Creates an element for handling the given URI.
| type : | wether to create a source or a sink |
| uri : | URI to create element for |
| elementname : | optional name of created element |
| Returns : | a new element or NULL if none could be created |
guint gst_uri_handler_get_uri_type (GstURIHandler *handler);
Gets the type of a URI handler
| handler : | Handler to query type of |
| Returns : | the type of the URI handler |
gchar** gst_uri_handler_get_protocols (GstURIHandler *handler);
Gets the list of supported protocols for this handler. This list may not be modified.
| handler : | Handler to get protocols for |
| Returns : | the supported protocols |
G_CONST_RETURN gchar* gst_uri_handler_get_uri
(GstURIHandler *handler);Gets the currently handled URI of the handler or NULL, if none is set.
| handler : | handler to query URI of |
| Returns : | the URI |
gboolean gst_uri_handler_set_uri (GstURIHandler *handler, const gchar *uri);
Tries to set the URI of the given handler and returns TRUE if it succeeded.
| handler : | handler to set URI of |
| uri : | URI to set |
| Returns : | TRUE, if the URI was set successfully |
void gst_uri_handler_new_uri (GstURIHandler *handler, const gchar *uri);
Emits the new-uri event for a given handler, when that handler has a new URI. This function should only be called by URI handlers themselves.
| handler : | handler with a new URI |
| uri : | new URI or NULL if it was unset |
| << GstTypeFindElement | gstutils >> |