| Grilo Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
#include <grilo.h> GrlMedia * (*GrlPlsFilterFunc) (GrlSource *source,GrlMedia *media,gpointer user_data); gboolean grl_pls_media_is_playlist (GrlMedia *media); guint grl_pls_browse (GrlSource *source,GrlMedia *playlist,const GList *keys,GrlOperationOptions *options,GrlPlsFilterFunc filter_func,GrlSourceResultCb callback,gpointer user_data); GList * grl_pls_browse_sync (GrlSource *source,GrlMedia *playlist,const GList *keys,GrlOperationOptions *options,GrlPlsFilterFunc filter_func,GError **error); void grl_pls_browse_by_spec (GrlSource *source,GrlPlsFilterFunc filter_func,GrlSourceBrowseSpec *bs); GrlMedia * grl_pls_file_to_media (GrlMedia *content,GFile *file,GFileInfo *info,gboolean handle_pls,GrlOperationOptions *options); const char * grl_pls_get_file_attributes (void);
Grilo only deals with audio, video or image content, but not with playlists. This library allow to identify playlists and browse into them exposing playlist entries as GrlMedia objects.
GrlMedia * (*GrlPlsFilterFunc) (GrlSource *source,GrlMedia *media,gpointer user_data);
Callback type to filter, or modify GrlMedia created
when parsing a playlist using one of grl_pls_browse(),
grl_pls_browse_sync() or grl_pls_browse_by_spec().
The callback is responsible for unreffing media when returning NULL or
another GrlMedia.
gboolean grl_pls_media_is_playlist (GrlMedia *media);
Check if a file identified by GrlMedia object is a playlist or not. This function does blocking I/O.
|
GrlMedia |
Returns : |
TRUE if a GrlMedia is recognized as a playlist. |
Since 0.2.0
guint grl_pls_browse (GrlSource *source,GrlMedia *playlist,const GList *keys,GrlOperationOptions *options,GrlPlsFilterFunc filter_func,GrlSourceResultCb callback,gpointer user_data);
Browse into a playlist. The playlist entries are
returned via the callback function as GrlMedia objects.
This function imitates the API and way of working of
grl_source_browse.
The playlist provided could be of any GrlMedia class,
as long as its URI points to a valid playlist file.
This function is asynchronous.
See #grl_source_browse() function for additional information
and sample code.
|
a source |
|
a playlist |
|
the GList of GrlKeyIDs to request. [element-type GrlKeyID] |
|
options wanted for that operation |
|
A filter function, or NULL. [scope async]
|
|
the user defined callback. [scope notified] |
|
the user data to pass in the callback |
Returns : |
the operation identifier |
Since 0.2.0
GList * grl_pls_browse_sync (GrlSource *source,GrlMedia *playlist,const GList *keys,GrlOperationOptions *options,GrlPlsFilterFunc filter_func,GError **error);
Browse into a playlist. The playlist entries are
returned via the callback function as GrlMedia objects.
This function imitates the API and way of working of
grl_source_browse_sync.
The filter function filter_func will be used for plugins
or applications to be able to refuse particular entries from
being listed.
If a NULL filter function is passed, the media will be added
with only the metadata coming from the playlist included.
This function is synchronous.
See #grl_source_browse_sync() function for additional information
and sample code.
|
a source |
|
a playlist |
|
the GList of GrlKeyIDs to request. [element-type GrlKeyID] |
|
A filter function, or NULL. [scope async]
|
|
options wanted for that operation |
|
a GError, or NULL
|
Returns : |
a GList with GrlMedia
elements. After use g_object_unref() every element and g_list_free() the
list. [element-type Grl.Media][transfer full]
|
Since 0.2.0
void grl_pls_browse_by_spec (GrlSource *source,GrlPlsFilterFunc filter_func,GrlSourceBrowseSpec *bs);
Browse into a playlist. The playlist entries are returned via the bs->callback function as GrlMedia objects. This function is more suitable to be called from plugins, which by design get the GrlSourceBrowseSpec already filled in.
The bs->playlist provided could be of any GrlMedia class, as long as its URI points to a valid playlist file.
This function is asynchronous.
See #grl_pls_browse() and #grl_source_browse() function for additional
information and sample code.
|
a source |
|
A filter function, or NULL. [scope async]
|
|
a GrlSourceBrowseSpec structure with details of the browsing operation |
Since 0.2.0
GrlMedia * grl_pls_file_to_media (GrlMedia *content,GFile *file,GFileInfo *info,gboolean handle_pls,GrlOperationOptions *options);
This function will update (if content is non-NULL) or create a
GrlMedia and populate it with information from info.
If info is NULL, a call to g_file_query_info() will be made.
This function is useful for plugins that browse the local filesystem and want to easily create GrlMedia from filesystem information.
|
an existing GrlMedia for the file, or NULL
|
|
a GFile pointing to the file or directory in question |
|
an existing GFileInfo, or NULL
|
|
Whether playlists should be handled as containers |
|
a GrlOperationOptions representing the options to apply to this operation. |
Returns : |
a new GrlMedia. [transfer full] |
Since 0.2.0
const char * grl_pls_get_file_attributes (void);
Returns the list of attributes to pass to
g_file_query_info() to make it possible to
populate a GrlMedia using grl_pls_file_to_media().
Do not free the result of this function.
Returns : |
a string containing the list of attributes. [transfer none] |
Since 0.2.0