RygelDLNAProfile

## RygelDLNAProfile RygelDLNAProfile — Data class representing a DLNA profile. It contains the name and the corresponding DLNA mime type. |

## Synopsis

    #define             RYGEL_TYPE_DLNA_PROFILE
    RygelDLNAProfile *  rygel_dlna_profile_new              (const gchar *name,
                                                             const gchar *mime);
    gint                rygel_dlna_profile_compare_by_name  (RygelDLNAProfile *a,
                                                             RygelDLNAProfile *b);
    struct              RygelDLNAProfile;
    gpointer            rygel_dlna_profile_ref              (gpointer instance);
    void                rygel_dlna_profile_unref            (gpointer instance);
    GParamSpec *        rygel_param_spec_dlna_profile       (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             GType object_type,
                                                             GParamFlags flags);
    void                rygel_value_set_dlna_profile        (GValue *value,
                                                             gpointer v_object);
    gpointer            rygel_value_get_dlna_profile        (const GValue *value);
    void                rygel_value_take_dlna_profile       (GValue *value,
                                                             gpointer v_object);
    struct              RygelDLNAProfileClass;
    #define             RYGEL_TYPE_MEDIA_ENGINE
    GList *             rygel_media_engine_get_dlna_profiles
                                                            (RygelMediaEngine *self);
    GList *             rygel_media_engine_get_transcoders  (RygelMediaEngine *self);
    RygelDataSource *   rygel_media_engine_create_data_source
                                                            (RygelMediaEngine *self,
                                                             const gchar *uri);
    void                rygel_media_engine_init             (GError **error);
    RygelMediaEngine *  rygel_media_engine_get_default      (void);
    struct              RygelMediaEngine;
    struct              RygelMediaEngineClass;
    enum                RygelMediaEngineError;

## Object Hierarchy

      RygelDLNAProfile

      GObject
       +----RygelMediaEngine

## Description

### Note

The mime type can deviate from mime types typically used elsewhere.

## Details

### RYGEL_TYPE_DLNA_PROFILE

    #define RYGEL_TYPE_DLNA_PROFILE (rygel_dlna_profile_get_type ())

The type for RygelDLNAProfile.

### rygel_dlna_profile_new ()

    RygelDLNAProfile *  rygel_dlna_profile_new              (const gchar *name,
                                                             const gchar *mime);

### rygel_dlna_profile_compare_by_name ()

    gint                rygel_dlna_profile_compare_by_name  (RygelDLNAProfile *a,
                                                             RygelDLNAProfile *b);

Compare two DLNA profiles by name

### struct RygelDLNAProfile

    struct RygelDLNAProfile;

Data class representing a DLNA profile. It contains the name and the corresponding DLNA mime type.

### Note

The mime type can deviate from mime types typically used elsewhere.

### rygel_dlna_profile_ref ()

    gpointer            rygel_dlna_profile_ref              (gpointer instance);

Increases the reference count of `object`.

`instance` : | a RygelDLNAProfile.
Returns : | the same `object`

### rygel_dlna_profile_unref ()

    void                rygel_dlna_profile_unref            (gpointer instance);

Decreases the reference count of `object`. When its reference count drops to 0, the object is finalized (i.e. its memory is freed).

`instance` : | a RygelDLNAProfile.

### rygel_param_spec_dlna_profile ()

    GParamSpec *        rygel_param_spec_dlna_profile       (const gchar *name,
                                                             const gchar *nick,
                                                             const gchar *blurb,
                                                             GType object_type,
                                                             GParamFlags flags);

Creates a new GParamSpecBoxed instance specifying a `RYGEL_TYPE_DLNA_PROFILE` derived property.

See ``g_param_spec_internal()`` for details on property names.

`name` : | canonical name of the property specified
`nick` : | nick name for the property specified
`blurb` : | description of the property specified
`object_type` : | `RYGEL_TYPE_DLNA_PROFILE` derived type of this property
`flags` : | flags for the property specified

### rygel_value_set_dlna_profile ()

    void                rygel_value_set_dlna_profile        (GValue *value,
                                                             gpointer v_object);

Set the contents of a `RYGEL_TYPE_DLNA_PROFILE` derived GValue to `v_object`.

``rygel_value_set_dlna_profile()`` increases the reference count of `v_object` (the GValue holds a reference to `v_object`). If you do not wish to increase the reference count of the object (i.e. you wish to pass your current reference to the GValue because you no longer need it), use ``rygel_value_take_dlna_profile()`` instead.

It is important that your GValue holds a reference to `v_object` (either its own, or one it has taken) to ensure that the object won't be destroyed while the GValue still exists).

`value` : | a valid GValue of `RYGEL_TYPE_DLNA_PROFILE` derived type
`v_object` : | object value to be set

### rygel_value_get_dlna_profile ()

    gpointer            rygel_value_get_dlna_profile        (const GValue *value);

Get the contents of a `RYGEL_TYPE_DLNA_PROFILE` derived GValue.

`value` : | a valid GValue of `RYGEL_TYPE_DLNA_PROFILE` derived type
Returns : | object contents of `value`

### rygel_value_take_dlna_profile ()

    void                rygel_value_take_dlna_profile       (GValue *value,
                                                             gpointer v_object);

Sets the contents of a `RYGEL_TYPE_DLNA_PROFILE` derived GValue to `v_object` and takes over the ownership of the callers reference to `v_object`; the caller doesn't have to unref it any more (i.e. the reference count of the object is not increased).

If you want the GValue to hold its own reference to `v_object`, use ``rygel_value_set_dlna_profile()`` instead.

`value` : | a valid GValue of `RYGEL_TYPE_DLNA_PROFILE` derived type
`v_object` : | object value to be set

### struct RygelDLNAProfileClass

    struct RygelDLNAProfileClass {
    	GTypeClass parent_class;
    	void (*finalize) (RygelDLNAProfile *self);
    };

The class structure for `RYGEL_TYPE_DLNA_PROFILE`. All the fields in this structure are private and should never be accessed directly.

GTypeClass `parent_class`; | the parent class structure
`finalize` () |

### RYGEL_TYPE_MEDIA_ENGINE

    #define RYGEL_TYPE_MEDIA_ENGINE (rygel_media_engine_get_type ())

The type for RygelMediaEngine.

### rygel_media_engine_get_dlna_profiles ()

    GList *             rygel_media_engine_get_dlna_profiles
                                                            (RygelMediaEngine *self);

Get a list of the DLNA profiles that are supported by this media engine.

`self` : | the RygelMediaEngine instance
Returns : | A list of DLNAProfile<!-- -->s. [transfer none]

### rygel_media_engine_get_transcoders ()

    GList *             rygel_media_engine_get_transcoders  (RygelMediaEngine *self);

Get a list of the Transcoders that are supported by this media engine.

`self` : | the RygelMediaEngine instance
Returns : | A list of Transcoder<!-- -->s or null if not supported. [transfer none]

### rygel_media_engine_create_data_source ()

    RygelDataSource *   rygel_media_engine_create_data_source
                                                            (RygelMediaEngine *self,
                                                             const gchar *uri);

Get a data source for the URI.

`self` : | the RygelMediaEngine instance
`uri` : | to create the data source for. [in]
Returns : | A data source representing the uri

### rygel_media_engine_init ()

    void                rygel_media_engine_init             (GError **error);

`error` : | location to store the error occuring, or `NULL` to ignore

### rygel_media_engine_get_default ()

    RygelMediaEngine *  rygel_media_engine_get_default      (void);

Get the singleton instance of the currently used media engine.

Returns : | An instance of a concrete MediaEngine implementation.

### struct RygelMediaEngine

    struct RygelMediaEngine;

This is the base class for media engines that contain knowledge about streaming and transcoding capabilites of the media library in use.

See, for instance, Rygel's "gstreamer" and "simple" media engines. The actual media engine used by Rygel at runtime is specified by the media-engine configuration key/ For instance, in rygel.conf: media-engine=librygel-media-engine-gst.so

Media engines should also derive their own Rygel.DataSource, returning an instance of it from `create_data_source()`.

### struct RygelMediaEngineClass

    struct RygelMediaEngineClass {
    	GObjectClass parent_class;
    	GList* (*get_dlna_profiles) (RygelMediaEngine* self);
    	GList* (*get_transcoders) (RygelMediaEngine* self);
    	RygelDataSource* (*create_data_source) (RygelMediaEngine* self, const gchar* uri);
    };

The class structure for `RYGEL_TYPE_MEDIA_ENGINE`. All the fields in this structure are private and should never be accessed directly.

GObjectClass `parent_class`; | the parent class structure
`get_dlna_profiles` () | virtual method called by ``rygel_media_engine_get_dlna_profiles()``
`get_transcoders` () | virtual method called by ``rygel_media_engine_get_transcoders()``
`create_data_source` () | virtual method called by ``rygel_media_engine_create_data_source()``

### enum RygelMediaEngineError

    typedef enum {
    	RYGEL_MEDIA_ENGINE_ERROR_NOT_FOUND
    } RygelMediaEngineError;