RygelMediaEngine

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

Types and Values

Description

Media engines express what representations of a MediaObject they can produce by returning MediaResource objects which will, in turn, be used to express to endpoints representations can be streamed from the MediaServer. These representations may include transformations, time-scaled representations, and/or encrypted representations.

See, for instance, Rygel's built-in "gstreamer" and "simple" media engines, or the external rygel-gst-0-10-media-engine module.

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 RygelDataSource, returning an instance of it from create_data_source().

See the <link linkend="implementing-media-engines">Implementing Media Engines</link> section.

Functions

Types and Values

RYGEL_TYPE_MEDIA_ENGINE

#define RYGEL_TYPE_MEDIA_ENGINE (rygel_media_engine_get_type ())

The type for RygelMediaEngine.


struct RygelMediaEngine

struct RygelMediaEngine {
	GObject parent_instance;
	RygelMediaEnginePrivate * priv;
};

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

Media engines express what representations of a MediaObject they can produce by returning MediaResource objects which will, in turn, be used to express to endpoints representations can be streamed from the MediaServer. These representations may include transformations, time-scaled representations, and/or encrypted representations.

See, for instance, Rygel's built-in "gstreamer" and "simple" media engines, or the external rygel-gst-0-10-media-engine module.

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 RygelDataSource, returning an instance of it from create_data_source().

See the <link linkend="implementing-media-engines">Implementing Media Engines</link> section.


struct RygelMediaEngineClass

struct RygelMediaEngineClass {
	GObjectClass parent_class;
	GList* (*get_dlna_profiles) (RygelMediaEngine* self);
	void (*get_resources_for_item) (RygelMediaEngine* self, RygelMediaObject* item, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GeeList* (*get_resources_for_item_finish) (RygelMediaEngine* self, GAsyncResult* _res_);
	RygelDataSource* (*create_data_source_for_resource) (RygelMediaEngine* self, RygelMediaObject* item, RygelMediaResource* resource, GHashTable* replacements, GError** error);
	RygelDataSource* (*create_data_source_for_uri) (RygelMediaEngine* self, const gchar* uri, GError** error);
	GList* (*get_internal_protocol_schemes) (RygelMediaEngine* self);
};

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

Members

get_dlna_profiles ()

virtual method called by rygel_media_engine_get_dlna_profiles()

 

get_resources_for_item ()

virtual method called by rygel_media_engine_get_resources_for_item()

 

get_resources_for_item_finish ()

asynchronous finish function for get_resources_for_item, called by rygel_media_engine_get_resources_for_item()

 

create_data_source_for_resource ()

virtual method called by rygel_media_engine_create_data_source_for_resource()

 

create_data_source_for_uri ()

virtual method called by rygel_media_engine_create_data_source_for_uri()

 

get_internal_protocol_schemes ()

virtual method called by rygel_media_engine_get_internal_protocol_schemes()

 

enum RygelMediaEngineError

Members

RYGEL_MEDIA_ENGINE_ERROR_NOT_FOUND