VLC  4.0.0-dev
preparse.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * playlist/preparse.h
3  *****************************************************************************
4  * Copyright (C) 2018 VLC authors and VideoLAN
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation; either version 2.1 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19  *****************************************************************************/
20 
21 #ifndef VLC_PLAYLIST_PREPARSE_H
22 #define VLC_PLAYLIST_PREPARSE_H
23 
24 #include <vlc_common.h>
25 
28 
29 void
31 
32 int
33 vlc_playlist_ExpandItem(vlc_playlist_t *playlist, size_t index,
34  input_item_node_t *node);
35 
36 int
38  input_item_node_t *subitems);
39 
40 #endif
VLC_VECTOR
#define VLC_VECTOR(type)
Vector struct body.
Definition: vlc_vector.h:65
vlc_playlist
Definition: playlist.h:48
content.h
vlc_playlist_AutoPreparse
void vlc_playlist_AutoPreparse(vlc_playlist_t *playlist, input_item_t *input)
Definition: preparse.c:131
vlc_playlist_ExpandItemFromNode
int vlc_playlist_ExpandItemFromNode(vlc_playlist_t *playlist, input_item_node_t *subitems)
Definition: preparse.c:66
vlc_common.h
vlc_playlist_ExpandItem
int vlc_playlist_ExpandItem(vlc_playlist_t *playlist, size_t index, input_item_node_t *node)
Definition: preparse.c:51
notify.h
input_item_t
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:77
item.h
vlc_vector_push
#define vlc_vector_push(pv, item)
Push an item at the end of the vector.
Definition: vlc_vector.h:313
input_preparser_callbacks
static const input_preparser_callbacks_t input_preparser_callbacks
Definition: preparse.c:109
input_item_node_t::pp_children
input_item_node_t ** pp_children
Definition: vlc_input_item.h:198
vlc_playlist_Lock
void vlc_playlist_Lock(vlc_playlist_t *playlist)
Lock the playlist/player.
Definition: playlist.c:80
on_preparse_ended
static void on_preparse_ended(input_item_t *media, enum input_item_preparse_status status, void *userdata)
Definition: preparse.c:92
input_item_node_t::i_children
int i_children
Definition: vlc_input_item.h:197
media_vector_t
Definition: preparse.c:33
media_vector_t::data
input_item_t ** data
Definition: preparse.c:51
vlc_playlist_ExpandItem
int vlc_playlist_ExpandItem(vlc_playlist_t *playlist, size_t index, input_item_node_t *node)
Definition: preparse.c:51
preparse.h
vlc_playlist_Expand
int vlc_playlist_Expand(vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
Definition: content.c:353
ITEM_PREPARSE_DONE
@ ITEM_PREPARSE_DONE
Definition: vlc_input_item.h:481
vlc_playlist_AutoPreparse
void vlc_playlist_AutoPreparse(vlc_playlist_t *playlist, input_item_t *input)
Definition: preparse.c:131
vlc_playlist_IndexOfMedia
ssize_t vlc_playlist_IndexOfMedia(vlc_playlist_t *playlist, const input_item_t *media)
Return the index of a given media.
Definition: content.c:206
input_item_IsPreparsed
bool input_item_IsPreparsed(input_item_t *p_item)
Definition: item.c:413
input_preparser_callbacks_t
Definition: vlc_input_item.h:484
META_REQUEST_OPTION_FETCH_LOCAL
@ META_REQUEST_OPTION_FETCH_LOCAL
Definition: vlc_input_item.h:469
on_subtree_added
static void on_subtree_added(input_item_t *media, input_item_node_t *subtree, void *userdata)
Definition: preparse.c:80
vlc_playlist_Preparse
void vlc_playlist_Preparse(vlc_playlist_t *playlist, input_item_t *input)
Preparse a media, and expand it in the playlist on subitems added.
Definition: preparse.c:115
VLC_VECTOR_INITIALIZER
#define VLC_VECTOR_INITIALIZER
Static initializer for a vector.
Definition: vlc_vector.h:75
vlc_playlist_AssertLocked
static void vlc_playlist_AssertLocked(vlc_playlist_t *playlist)
Definition: playlist.h:69
input_item_node_t::p_item
input_item_t * p_item
Definition: vlc_input_item.h:196
vlc_playlist_Notify
#define vlc_playlist_Notify(playlist, event,...)
Definition: notify.h:51
input_item_preparse_status
input_item_preparse_status
Definition: vlc_input_item.h:476
vlc_MetadataRequest
int vlc_MetadataRequest(libvlc_int_t *libvlc, input_item_t *item, input_item_meta_request_option_t i_options, const input_preparser_callbacks_t *cbs, void *cbs_userdata, int timeout, void *id)
Definition: libvlc.c:450
vlc_playlist_Unlock
void vlc_playlist_Unlock(vlc_playlist_t *playlist)
Unlock the playlist/player.
Definition: playlist.c:86
playlist_item_vector_t::data
vlc_playlist_item_t ** data
Definition: playlist.h:46
media_vector_t::size
size_t size
Definition: preparse.c:51
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
vlc_playlist::auto_preparse
bool auto_preparse
Definition: playlist.h:52
VLC_ENOITEM
#define VLC_ENOITEM
Item not found.
Definition: vlc_common.h:488
vlc_vector_destroy
#define vlc_vector_destroy(pv)
Destroy a vector.
Definition: vlc_vector.h:93
vlc_playlist::libvlc
libvlc_int_t * libvlc
Definition: playlist.h:51
libvlc.h
vlc_playlist_ExpandItemFromNode
int vlc_playlist_ExpandItemFromNode(vlc_playlist_t *playlist, input_item_node_t *subitems)
Definition: preparse.c:66
vlc_playlist_CollectChildren
static void vlc_playlist_CollectChildren(vlc_playlist_t *playlist, media_vector_t *dest, input_item_node_t *node)
Definition: preparse.c:36
playlist.h
META_REQUEST_OPTION_SCOPE_LOCAL
@ META_REQUEST_OPTION_SCOPE_LOCAL
Definition: vlc_input_item.h:466
vlc_playlist::items
playlist_item_vector_t items
Definition: playlist.h:55
input_preparser_callbacks_t::on_preparse_ended
void(* on_preparse_ended)(input_item_t *, enum input_item_preparse_status status, void *userdata)
Definition: vlc_input_item.h:485
input_item_node_t
Definition: vlc_input_item.h:194