( cname = "GstDiscoverer"
, lower_case_cprefix = "gst_discoverer_"
, type_id = "gst_discoverer_get_type ()"
( name = "Discoverer"
) ]public class Discoverer
The Discoverer is a utility object which allows to get as much information as possible from one or many URIs.
It provides two APIs, allowing usage in blocking or non-blocking mode.
The blocking mode just requires calling discover_uri
with the URI one wishes to discover.
The non-blocking mode requires a running MainLoop iterating a
MainContext, where one connects to the various signals, appends the URIs to be
processed (through discover_uri_async) and
then asks for the discovery to begin (through start). By
default this will use the GLib default main context unless you have set a custom context using
All the information is returned in a DiscovererInfo
- public DiscovererInfo discover_uri (string uri) throws Error
Synchronously discovers the given
- public bool discover_uri_async (string uri)
Appends the given
uri to the list of URIs to discoverer.
- public void start ()
Allow asynchronous discovering of URIs to take place.
- public void stop ()
Stop the discovery of any pending URIs and clears the list of pending URIS
- public virtual signal void discovered (DiscovererInfo info, Error? err)
Will be emitted in async mode when all information on a URI could be
discovered, or an error occurred.
- public virtual signal void finished ()
Will be emitted in async mode when all pending URIs have been processed.
- public virtual signal void source_setup (Element source)
This signal is emitted after the source element has been created for, so the
URI being discovered, so it can be configured by setting additional properties (e.g. set a proxy server for an http source, or set the
device and read speed for an audio cd source).
- public virtual signal void starting ()
Will be emitted when the discover starts analyzing the pending URIs
All known members inherited from class GLib.Object