![]() |
![]() |
![]() |
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][allow-none]
|
|
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][allow-none]
|
|
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][allow-none]
|
|
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