| 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