Top |
GrlMedia * | (*GrlPlsFilterFunc) () |
gboolean | grl_pls_media_is_playlist () |
guint | grl_pls_browse () |
GList * | grl_pls_browse_sync () |
void | grl_pls_browse_by_spec () |
GrlMedia * | grl_pls_file_to_media () |
const char * | grl_pls_get_file_attributes () |
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.
NULL
to not add this entry to the results,
or a new GrlMedia populated with metadata of your choice.
[transfer full]
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.
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.
source |
a source |
|
playlist |
a playlist |
|
keys |
the GList of GrlKeyIDs to request. |
[element-type GrlKeyID] |
options |
options wanted for that operation |
|
filter_func |
A filter function, or |
[scope async][allow-none] |
callback |
the user defined callback. |
[scope notified] |
user_data |
the user data to pass in the callback |
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.
source |
a source |
|
playlist |
a playlist |
|
keys |
the GList of GrlKeyIDs to request. |
[element-type GrlKeyID] |
filter_func |
A filter function, or |
[scope async][allow-none] |
options |
options wanted for that operation |
|
error |
a GError, or |
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.
source |
a source |
|
filter_func |
A filter function, or |
[scope async][allow-none] |
bs |
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.
content |
an existing GrlMedia for the file, or |
|
file |
a GFile pointing to the file or directory in question |
|
info |
an existing GFileInfo, or |
|
handle_pls |
Whether playlists should be handled as containers |
|
options |
a GrlOperationOptions representing the options to apply to this operation. |
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.
Since: 0.2.0