GUPnPDLNADiscoverer

GUPnPDLNADiscoverer — Utility API for discovering DLNA profile/mime type and other metadata for given media.

Synopsis

                    GUPnPDLNADiscoverer;
GUPnPDLNADiscoverer* gupnp_dlna_discoverer_new          (GstClockTime timeout);
void                gupnp_dlna_discoverer_start         (GUPnPDLNADiscoverer *discoverer);
void                gupnp_dlna_discoverer_stop          (GUPnPDLNADiscoverer *discoverer);
gboolean            gupnp_dlna_discoverer_discover_uri  (GUPnPDLNADiscoverer *discoverer,
                                                         gchar *uri);
GUPnPDLNAInformation * gupnp_dlna_discoverer_discover_uri_sync
                                                        (GUPnPDLNADiscoverer *discoverer,
                                                         gchar *uri,
                                                         GError **err);

Object Hierarchy

  GObject
   +----GstDiscoverer
         +----GUPnPDLNADiscoverer

Signals

  "done"                                           : Run Last

Description

The GUPnPDLNADiscoverer object provides a light-weight wrapper over the GstDiscoverer API. The latter provides a simple interface to discover media metadata given a URI. GUPnPDLNADiscoverer extends this API to also provide a DLNA profile name and mime type for the media.

The API provided corresponds very closely to the API provided by GstDiscoverer - both synchronous and asynchronous discovery of metadata are possible.

The asynchronous mode requires a running GMainLoop in the default GMainContext, where one connects to the various signals, appends the URIs to be processed and then asks for the discovery to begin.

Details

GUPnPDLNADiscoverer

typedef struct _GUPnPDLNADiscoverer GUPnPDLNADiscoverer;

The top-level object used to for metadata extraction.


gupnp_dlna_discoverer_new ()

GUPnPDLNADiscoverer* gupnp_dlna_discoverer_new          (GstClockTime timeout);

Creates a new GUPnPDLNADiscoverer object with the given default timeout value.

timeout :

default discovery timeout, in nanoseconds

Returns :

A new GUPnPDLNADiscoverer object.

gupnp_dlna_discoverer_start ()

void                gupnp_dlna_discoverer_start         (GUPnPDLNADiscoverer *discoverer);

Allows asynchronous discovery of URIs to begin.

discoverer :

GUPnPDLNADiscoverer object to start discovery on

gupnp_dlna_discoverer_stop ()

void                gupnp_dlna_discoverer_stop          (GUPnPDLNADiscoverer *discoverer);

Stops asynchronous discovery of URIs.

discoverer :

GUPnPDLNADiscoverer object to stop discovery on

gupnp_dlna_discoverer_discover_uri ()

gboolean            gupnp_dlna_discoverer_discover_uri  (GUPnPDLNADiscoverer *discoverer,
                                                         gchar *uri);

Queues uri for metadata discovery. When discovery is completed, the "discovered" signal is emitted on discoverer.

discoverer :

GUPnPDLNADiscoverer object to use for discovery

uri :

URI to gather metadata for

Returns :

TRUE if uri was successfully queued, FALSE otherwise.

gupnp_dlna_discoverer_discover_uri_sync ()

GUPnPDLNAInformation * gupnp_dlna_discoverer_discover_uri_sync
                                                        (GUPnPDLNADiscoverer *discoverer,
                                                         gchar *uri,
                                                         GError **err);

Synchronously gathers metadata for uri.

discoverer :

GUPnPDLNADiscoverer object to use for discovery

uri :

URI to gather metadata for

err :

contains details of the error if discovery fails, else is NULL

Returns :

a GUPnPDLNAInformation with the metadata for uri on success, NULL otherwise

Signal Details

The "done" signal

void                user_function                      (GUPnPDLNADiscoverer  *discoverer,
                                                        GUPnPDLNAInformation *dlna,
                                                        GError               *err,
                                                        gpointer              user_data)       : Run Last

Will be emitted when all information on a URI could be discovered.

The reciever must unref dlna with when done using it.

discoverer :

the GUPnPDLNADiscoverer

dlna :

the results as GUPnPDLNAInformation

err :

contains details of the error if discovery fails, else is NULL

user_data :

user data set when the signal handler was connected.