GUPnPDLNAMetadataExtractor

GUPnPDLNAMetadataExtractor — Base class for extracting metadata for given media.

Functions

Signals

void done Run Last

Types and Values

Object Hierarchy

    GObject
    ╰── GUPnPDLNAMetadataExtractor

Description

GUPnPDLNAMetadataExtractor is used by GUPnPDLNAProfileGuesser to get needed metadata for profile matching. This class itself does not implement any metadata extraction features. For that it is expected to provide a plugin which:

GModule is used for loading the plugin, so GModule's features can be used also (like exporting g_module_check_init() to initialize the multimedia framework used for extracting metadata).

Default plugin directory and default plugin file is set during configuration stage, but it can be overriden during runtime by setting respectively GUPNP_DLNA_METADATA_BACKEND and GUPNP_DLNA_METADATA_BACKEND_DIR environment variables before the plugin is loaded (i.e. before GUPnPDLNAProfileGuesser is used for guessing profile).

The GUPNP_DLNA_METADATA_BACKEND environment variable should hold a name like "gstreamer", so libgstreamer.so will be loaded. For determining a plugin filename g_module_build_path() is used.

If subclassing GUPnPDLNAMetadataExtractor then also GUPnPDLNAInformation, GUPnPDLNAAudioInformation, GUPnPDLNAContainerInformation, GUPnPDLNAImageInformation and GUPnPDLNAVideoInformation have to be subclassed as well.

Functions

gupnp_dlna_metadata_extractor_extract_async ()

gboolean
gupnp_dlna_metadata_extractor_extract_async
                               (GUPnPDLNAMetadataExtractor *extractor,
                                const gchar *uri,
                                guint timeout_in_ms,
                                GError **error);

Queues uri for metadata discovery. When discovery is completed, the ::done signal is emitted on extractor .

Parameters

extractor

GUPnPDLNAMetadataExtractor object to use for discovery

 

uri

URI to gather metadata for

 

timeout_in_ms

Timeout in miliseconds.

 

error

A GError.

 

Returns

TRUE if uri was successfully queued, FALSE otherwise.


gupnp_dlna_metadata_extractor_extract_sync ()

GUPnPDLNAInformation *
gupnp_dlna_metadata_extractor_extract_sync
                               (GUPnPDLNAMetadataExtractor *extractor,
                                const gchar *uri,
                                guint timeout_in_ms,
                                GError **error);

Discovers synchronously metadata of given uri .

Parameters

extractor

GUPnPDLNAMetadataExtractor object to use for discovery

 

uri

URI to gather metadata for

 

timeout_in_ms

Timeout in miliseconds.

 

error

A GError.

 

Returns

A GUPnPDLNAInformation object if discovery succeeded, otherwise NULL.


gupnp_dlna_metadata_extractor_emit_done ()

void
gupnp_dlna_metadata_extractor_emit_done
                               (GUPnPDLNAMetadataExtractor *extractor,
                                GUPnPDLNAInformation *info,
                                GError *error);

Emits ::done signal. This function is intended to be used by subclasses of GUPnPDLNAMetadataExtractor. It is required to always pass a meaningful info , even in case of error. That way a receiver of this signal can know which URI discovery failed by using gupnp_dlna_information_get_uri().

Parameters

extractor

A GUPnPDLNAMetadataExtractor object.

 

info

A GUPnPDLNAInformation about discovered URI.

[transfer none]

error

A GError.

[allow-none][transfer none]

Types and Values

GUPnPDLNAMetadataExtractor

typedef struct _GUPnPDLNAMetadataExtractor GUPnPDLNAMetadataExtractor;

The top-level object used to for metadata extraction.


GUPnPDLNAMetadataExtractorClass

typedef struct {
        GObjectClass parent_class;

        /* virtuals */
        gboolean
        (* extract_async) (GUPnPDLNAMetadataExtractor  *extractor,
                           const gchar                 *uri,
                           guint                        timeout_in_ms,
                           GError                     **error);

        GUPnPDLNAInformation *
        (* extract_sync) (GUPnPDLNAMetadataExtractor  *extractor,
                          const gchar                 *uri,
                          guint                        timeout_in_ms,
                          GError                     **error);

        gpointer _reserved[12];
} GUPnPDLNAMetadataExtractorClass;

Members

extract_async ()

This is called by GUPnPDLNAProfileGuesser to get a information about media file asynchronously.

 

extract_sync ()

This is called by GUPnPDLNAProfileGuesser to get a information about media file synchronously.

 

gpointer _reserved[12];

Padding. Ignore it.

 

Signal Details

The “done” signal

void
user_function (GUPnPDLNAMetadataExtractor *extractor,
               GUPnPDLNAInformation       *info,
               GError                     *error,
               gpointer                    user_data)

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

Parameters

extractor

The GUPnPDLNAMetadataExtractor.

 

info

The results as GUPnPDLNAInformation.

[transfer none]

error

Contains details of the error if discovery fails, otherwise is NULL.

[allow-none][transfer none]

user_data

user data set when the signal handler was connected.

 

Flags: Run Last