VLC 4.0.0-dev
|
This file defines functions, structures and enums for input items in vlc. More...
Go to the source code of this file.
Data Structures | |
struct | info_t |
struct | info_category_t |
struct | input_item_es |
struct | input_item_es_vector |
struct | input_item_t |
Describes an input and is used to spawn input_thread_t objects. More... | |
struct | input_item_slave |
struct | input_item_node_t |
struct | input_item_parser_cbs_t |
input item parser callbacks More... | |
struct | input_item_parser_cfg |
input item parser configuration struct More... | |
struct | input_stats_t |
struct | vlc_readdir_helper |
Access pf_readdir helper struct. More... | |
Typedefs | |
typedef struct input_item_opaque | input_item_opaque_t |
typedef struct input_item_slave | input_item_slave_t |
typedef struct input_item_parser_id_t | input_item_parser_id_t |
input item parser opaque structure | |
typedef struct input_item_parser_cbs_t | input_item_parser_cbs_t |
input item parser callbacks | |
Enumerations | |
enum | input_item_type_e { ITEM_TYPE_UNKNOWN , ITEM_TYPE_FILE , ITEM_TYPE_DIRECTORY , ITEM_TYPE_DISC , ITEM_TYPE_CARD , ITEM_TYPE_STREAM , ITEM_TYPE_PLAYLIST , ITEM_TYPE_NODE , ITEM_TYPE_NUMBER } |
enum | input_item_net_type { ITEM_NET_UNKNOWN , ITEM_NET , ITEM_LOCAL } |
enum | slave_type { SLAVE_TYPE_SPU , SLAVE_TYPE_GENERIC } |
enum | slave_priority { SLAVE_PRIORITY_MATCH_NONE = 1 , SLAVE_PRIORITY_MATCH_RIGHT , SLAVE_PRIORITY_MATCH_LEFT , SLAVE_PRIORITY_MATCH_ALL , SLAVE_PRIORITY_USER } |
enum | input_item_option_e { VLC_INPUT_OPTION_TRUSTED = 0x2 , VLC_INPUT_OPTION_UNIQUE = 0x100 } |
Option flags. More... | |
Functions | |
static bool | info_category_IsHidden (info_category_t *cat) |
Returns true if the category is hidden. | |
void | input_item_CopyOptions (input_item_t *p_child, input_item_t *p_parent) |
void | input_item_SetName (input_item_t *p_item, const char *psz_name) |
input_item_node_t * | input_item_node_Create (input_item_t *p_input) |
Start adding multiple subitems. | |
input_item_node_t * | input_item_node_AppendItem (input_item_node_t *p_node, input_item_t *p_item) |
Add a new child node to this parent node that will point to this subitem. | |
void | input_item_node_AppendNode (input_item_node_t *p_parent, input_item_node_t *p_child) |
Add an already created node to children of this parent node. | |
void | input_item_node_RemoveNode (input_item_node_t *parent, input_item_node_t *child) |
Remove a node from its parent. | |
void | input_item_node_Delete (input_item_node_t *p_node) |
Delete a node created with input_item_node_Create() and all its children. | |
int | input_item_AddOption (input_item_t *, const char *, unsigned i_flags) |
This function allows to add an option to an existing input_item_t. | |
int | input_item_AddOptions (input_item_t *, int i_options, const char *const *ppsz_options, unsigned i_flags) |
This function add several options to an existing input_item_t. | |
int | input_item_AddOpaque (input_item_t *, const char *, void *) |
void | input_item_ApplyOptions (vlc_object_t *, input_item_t *) |
bool | input_item_Playable (const char *) |
This function checks whether the input item is of a type that can be played. | |
bool | input_item_slave_GetType (const char *, enum slave_type *) |
input_item_slave_t * | input_item_slave_New (const char *, enum slave_type, enum slave_priority) |
int | input_item_AddSlave (input_item_t *, input_item_slave_t *) |
This function allows adding a slave to an existing input item. | |
void | input_item_SetMeta (input_item_t *, vlc_meta_type_t meta_type, const char *psz_val) |
bool | input_item_MetaMatch (input_item_t *p_i, vlc_meta_type_t meta_type, const char *psz) |
char * | input_item_GetMeta (input_item_t *p_i, vlc_meta_type_t meta_type) |
const char * | input_item_GetMetaLocked (input_item_t *, vlc_meta_type_t meta_type) |
char * | input_item_GetName (input_item_t *p_i) |
char * | input_item_GetTitleFbName (input_item_t *p_i) |
char * | input_item_GetURI (input_item_t *p_i) |
char * | input_item_GetNowPlayingFb (input_item_t *p_item) |
void | input_item_SetURI (input_item_t *p_i, const char *psz_uri) |
vlc_tick_t | input_item_GetDuration (input_item_t *p_i) |
void | input_item_SetDuration (input_item_t *p_i, vlc_tick_t i_duration) |
bool | input_item_IsPreparsed (input_item_t *p_i) |
bool | input_item_IsArtFetched (input_item_t *p_i) |
char * | input_item_GetMetaExtra (input_item_t *p_i, const char *psz_name) |
unsigned | input_item_GetMetaExtraNames (input_item_t *p_i, char ***pppsz_names) |
void | input_item_SetMetaExtra (input_item_t *p_i, const char *psz_name, const char *psz_value) |
static void | input_item_SetTitle (input_item_t *p_input, const char *val) |
static char * | input_item_GetTitle (input_item_t *p_input) |
static void | input_item_SetArtist (input_item_t *p_input, const char *val) |
static char * | input_item_GetArtist (input_item_t *p_input) |
static void | input_item_SetAlbumArtist (input_item_t *p_input, const char *val) |
static char * | input_item_GetAlbumArtist (input_item_t *p_input) |
static void | input_item_SetGenre (input_item_t *p_input, const char *val) |
static char * | input_item_GetGenre (input_item_t *p_input) |
static void | input_item_SetCopyright (input_item_t *p_input, const char *val) |
static char * | input_item_GetCopyright (input_item_t *p_input) |
static void | input_item_SetAlbum (input_item_t *p_input, const char *val) |
static char * | input_item_GetAlbum (input_item_t *p_input) |
static void | input_item_SetTrackNumber (input_item_t *p_input, const char *val) |
static char * | input_item_GetTrackNumber (input_item_t *p_input) |
static void | input_item_SetDescription (input_item_t *p_input, const char *val) |
static char * | input_item_GetDescription (input_item_t *p_input) |
static void | input_item_SetRating (input_item_t *p_input, const char *val) |
static char * | input_item_GetRating (input_item_t *p_input) |
static void | input_item_SetDate (input_item_t *p_input, const char *val) |
static char * | input_item_GetDate (input_item_t *p_input) |
static void | input_item_SetSetting (input_item_t *p_input, const char *val) |
static char * | input_item_GetSetting (input_item_t *p_input) |
static void | input_item_SetURL (input_item_t *p_input, const char *val) |
static char * | input_item_GetURL (input_item_t *p_input) |
static void | input_item_SetLanguage (input_item_t *p_input, const char *val) |
static char * | input_item_GetLanguage (input_item_t *p_input) |
static void | input_item_SetNowPlaying (input_item_t *p_input, const char *val) |
static char * | input_item_GetNowPlaying (input_item_t *p_input) |
static void | input_item_SetESNowPlaying (input_item_t *p_input, const char *val) |
static char * | input_item_GetESNowPlaying (input_item_t *p_input) |
static void | input_item_SetPublisher (input_item_t *p_input, const char *val) |
static char * | input_item_GetPublisher (input_item_t *p_input) |
static void | input_item_SetEncodedBy (input_item_t *p_input, const char *val) |
static char * | input_item_GetEncodedBy (input_item_t *p_input) |
static void | input_item_SetArtworkURL (input_item_t *p_input, const char *val) |
static char * | input_item_GetArtworkURL (input_item_t *p_input) |
static void | input_item_SetTrackID (input_item_t *p_input, const char *val) |
static char * | input_item_GetTrackID (input_item_t *p_input) |
static void | input_item_SetTrackTotal (input_item_t *p_input, const char *val) |
static char * | input_item_GetTrackTotal (input_item_t *p_input) |
static void | input_item_SetDirector (input_item_t *p_input, const char *val) |
static char * | input_item_GetDirector (input_item_t *p_input) |
static void | input_item_SetSeason (input_item_t *p_input, const char *val) |
static char * | input_item_GetSeason (input_item_t *p_input) |
static void | input_item_SetEpisode (input_item_t *p_input, const char *val) |
static char * | input_item_GetEpisode (input_item_t *p_input) |
static void | input_item_SetShowName (input_item_t *p_input, const char *val) |
static char * | input_item_GetShowName (input_item_t *p_input) |
static void | input_item_SetActors (input_item_t *p_input, const char *val) |
static char * | input_item_GetActors (input_item_t *p_input) |
static void | input_item_SetDiscNumber (input_item_t *p_input, const char *val) |
static char * | input_item_GetDiscNumber (input_item_t *p_input) |
static void | input_item_SetDiscTotal (input_item_t *p_input, const char *val) |
static char * | input_item_GetDiscTotal (input_item_t *p_input) |
char * | input_item_GetInfo (input_item_t *p_i, const char *psz_cat, const char *psz_name) |
Get a info item from a given category in a given input item. | |
char * | input_item_GetInfoLocked (input_item_t *p_i, const char *psz_cat, const char *psz_name) |
int | input_item_AddInfo (input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format,...) |
int | input_item_DelInfo (input_item_t *p_i, const char *psz_cat, const char *psz_name) |
void | input_item_ReplaceInfos (input_item_t *, info_category_t *) |
void | input_item_MergeInfos (input_item_t *, info_category_t *) |
input_item_t * | input_item_NewExt (const char *psz_uri, const char *psz_name, vlc_tick_t i_duration, enum input_item_type_e i_type, enum input_item_net_type i_net) |
This function creates a new input_item_t with the provided information. | |
input_item_t * | input_item_Copy (input_item_t *) |
This function creates a new input_item_t as a copy of another. | |
input_item_t * | input_item_Hold (input_item_t *) |
Holds an input item, i.e. | |
void | input_item_Release (input_item_t *) |
Releases an input item, i.e. | |
static enum input_item_type_e | input_item_GetType (input_item_t *p_i, bool *is_network) |
char * | input_item_CreateFilename (input_item_t *, const char *psz_path, const char *psz_prefix, const char *psz_extension) |
This function creates a sane filename path. | |
input_item_parser_id_t * | input_item_Parse (vlc_object_t *parent, input_item_t *item, const struct input_item_parser_cfg *cfg) |
Parse an item asynchronously. | |
void | input_item_parser_id_Interrupt (input_item_parser_id_t *parser) |
Interrupts & cancels the parsing. | |
void | input_item_parser_id_Release (input_item_parser_id_t *parser) |
Release (and interrupt if needed) a parser. | |
void | vlc_readdir_helper_init (struct vlc_readdir_helper *p_rdh, vlc_object_t *p_obj, input_item_node_t *p_node) |
Init a vlc_readdir_helper struct. | |
void | vlc_readdir_helper_finish (struct vlc_readdir_helper *p_rdh, bool b_success) |
Finish adding items to the node. | |
int | vlc_readdir_helper_additem (struct vlc_readdir_helper *p_rdh, const char *psz_uri, const char *psz_flatpath, const char *psz_filename, int i_type, int i_net, input_item_t **created_item) |
Add a new input_item_t entry to the node of the vlc_readdir_helper struct. | |
This file defines functions, structures and enums for input items in vlc.
#define info_foreach | ( | info, | |
cat | |||
) | vlc_list_foreach(info, cat, node) |
#define INPUT_DURATION_INDEFINITE (-1) /* item with a known indefinite duration (live/continuous source) */ |
#define INPUT_DURATION_UNSET VLC_TICK_INVALID |
#define input_item_AddStat | ( | item, | |
type, | |||
value | |||
) | input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value) |
#define input_item_GetArtURL input_item_GetArtworkURL |
#define input_item_GetTrackNum input_item_GetTrackNumber |
#define input_item_New | ( | psz_uri, | |
psz_name | |||
) | input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN ) |
#define input_item_NewCard | ( | psz_uri, | |
psz_name | |||
) | input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL ) |
#define input_item_NewDirectory | ( | psz_uri, | |
psz_name, | |||
i_net | |||
) | input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_DIRECTORY, i_net ) |
#define input_item_NewDisc | ( | psz_uri, | |
psz_name, | |||
i_duration | |||
) | input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL ) |
#define input_item_NewFile | ( | psz_uri, | |
psz_name, | |||
i_duration, | |||
i_net | |||
) | input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_FILE, i_net ) |
#define input_item_NewStream | ( | psz_uri, | |
psz_name, | |||
i_duration | |||
) | input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET ) |
#define input_item_SetArtURL input_item_SetArtworkURL |
#define input_item_SetTrackNum input_item_SetTrackNumber |
#define input_item_slave_Delete | ( | p_slave | ) | free(p_slave) |
#define INPUT_ITEM_URI_NOP "vlc://nop" /* dummy URI for node/directory items */ |
#define INPUT_META | ( | name | ) |
#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p" |
Record prefix string.
TODO make it configurable.
#define MASTER_EXTENSIONS |
#define SLAVE_AUDIO_EXTENSIONS |
#define SLAVE_SPU_EXTENSIONS |
#define vlc_readdir_helper_init | ( | p_rdh, | |
p_obj, | |||
p_node | |||
) | vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node) |
typedef struct input_item_opaque input_item_opaque_t |
typedef struct input_item_parser_cbs_t input_item_parser_cbs_t |
input item parser callbacks
typedef struct input_item_parser_id_t input_item_parser_id_t |
input item parser opaque structure
typedef struct input_item_slave input_item_slave_t |
enum input_item_net_type |
enum input_item_option_e |
enum input_item_type_e |
enum slave_priority |
enum slave_type |
|
inlinestatic |
Returns true if the category is hidden.
Infos from hidden categories should not be displayed directly by UI modules.
References info_category_t::psz_name.
int input_item_AddInfo | ( | input_item_t * | p_i, |
const char * | psz_cat, | ||
const char * | psz_name, | ||
const char * | psz_format, | ||
... | |||
) |
References InputItemVaAddInfo(), input_item_t::lock, psz_name, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutProgramEpg(), and EsOutProgramUpdateScrambled().
int input_item_AddOpaque | ( | input_item_t * | item, |
const char * | name, | ||
void * | value | ||
) |
References input_item_t::lock, name, input_item_t::opaques, unlikely, VLC_ENOMEM, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
int input_item_AddOption | ( | input_item_t * | p_input, |
const char * | psz_option, | ||
unsigned | i_flags | ||
) |
This function allows to add an option to an existing input_item_t.
References input_item_t::i_options, input_item_t::lock, input_item_t::optflagc, input_item_t::optflagv, input_item_t::ppsz_options, strdup(), TAB_APPEND, unlikely, VLC_EGENERIC, VLC_ENOMEM, VLC_INPUT_OPTION_UNIQUE, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by input_item_AddOptions(), and vlm_ControlMediaInstanceStart().
int input_item_AddOptions | ( | input_item_t * | p_item, |
int | i_options, | ||
const char *const * | ppsz_options, | ||
unsigned | i_flags | ||
) |
This function add several options to an existing input_item_t.
References input_item_AddOption(), and VLC_SUCCESS.
Referenced by add_to_playlist(), and intf_InsertItem().
int input_item_AddSlave | ( | input_item_t * | p_item, |
input_item_slave_t * | p_slave | ||
) |
This function allows adding a slave to an existing input item.
The slave is owned by the input item after this call.
References input_item_slave::i_priority, input_item_t::i_slaves, input_item_t::lock, input_item_t::pp_slaves, SLAVE_PRIORITY_MATCH_NONE, TAB_APPEND, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by Control(), LoadSlaves(), and rdh_attach_slaves().
void input_item_ApplyOptions | ( | vlc_object_t * | obj, |
input_item_t * | item | ||
) |
References input_item_t::i_options, input_item_t::lock, input_item_t::opaques, input_item_t::optflagc, input_item_t::optflagv, input_item_t::ppsz_options, var_Create(), var_OptionParse(), var_SetAddress(), VLC_INPUT_OPTION_TRUSTED, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_VAR_ADDRESS.
Referenced by input_Create(), and vlc_readdir_helper_init().
input_item_t * input_item_Copy | ( | input_item_t * | p_input | ) |
This function creates a new input_item_t as a copy of another.
References input_item_t::b_net, input_item_t::i_duration, input_item_slave::i_priority, input_item_t::i_slaves, input_item_t::i_type, input_item_slave::i_type, input_item_CopyOptions(), input_item_NewExt(), input_item_slave_New(), ITEM_NET_UNKNOWN, input_item_t::lock, input_item_t::p_meta, input_item_t::pp_slaves, input_item_t::psz_name, input_item_t::psz_uri, input_item_slave::psz_uri, TAB_APPEND, unlikely, vlc_meta_Merge(), vlc_mutex_lock(), and vlc_mutex_unlock().
void input_item_CopyOptions | ( | input_item_t * | p_child, |
input_item_t * | p_parent | ||
) |
References input_item_t::i_options, likely, input_item_t::lock, input_item_t::optflagc, input_item_t::optflagv, input_item_t::ppsz_options, strdup(), unlikely, vlc_alloc(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_Copy(), rdh_unflatten(), and vlc_readdir_helper_additem().
char * input_item_CreateFilename | ( | input_item_t * | item, |
const char * | psz_path, | ||
const char * | psz_prefix, | ||
const char * | psz_extension | ||
) |
This function creates a sane filename path.
References asprintf(), DIR_SEP, filename_sanitize(), str_format(), and unlikely.
Referenced by EsOutSetRecord().
int input_item_DelInfo | ( | input_item_t * | p_i, |
const char * | psz_cat, | ||
const char * | psz_name | ||
) |
References info_category_Delete(), info_category_DeleteInfo(), InputItemFindCat(), input_item_t::lock, info_category_t::node, psz_name, VLC_EGENERIC, vlc_list_remove(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by EsOutDeleteInfoEs(), EsOutProgramEpg(), EsOutProgramMeta(), EsOutProgramUpdateScrambled(), input_item_SetEpg(), and input_item_SetEpgOffline().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by DisplayVoutTitle().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
vlc_tick_t input_item_GetDuration | ( | input_item_t * | p_i | ) |
References input_item_t::i_duration, INPUT_DURATION_INDEFINITE, INPUT_DURATION_UNSET, input_item_t::lock, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by InputSourceGetLength(), and vlc_strfplayer().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
char * input_item_GetInfo | ( | input_item_t * | p_i, |
const char * | psz_cat, | ||
const char * | psz_name | ||
) |
Get a info item from a given category in a given input item.
p_i | The input item to get info from |
psz_cat | String representing the category for the info |
psz_name | String representing the name of the desired info |
References input_item_GetInfoLocked(), input_item_t::lock, psz_name, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_FindArtInCacheUsingItemUID(), and input_SaveArt().
char * input_item_GetInfoLocked | ( | input_item_t * | p_i, |
const char * | psz_cat, | ||
const char * | psz_name | ||
) |
References info_category_FindInfo(), InputItemFindCat(), input_item_t::lock, psz_name, info_t::psz_value, strdup(), and vlc_mutex_assert.
Referenced by input_item_GetInfo(), and vlc_playlist_item_meta_InitField().
|
inlinestatic |
char * input_item_GetMeta | ( | input_item_t * | p_i, |
vlc_meta_type_t | meta_type | ||
) |
References input_item_GetMetaLocked(), input_item_t::lock, strdup(), input_item_opaque::value, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_GetNowPlayingFb(), vout_OSDEpg(), and write_meta().
char * input_item_GetMetaExtra | ( | input_item_t * | p_i, |
const char * | psz_name | ||
) |
unsigned input_item_GetMetaExtraNames | ( | input_item_t * | p_i, |
char *** | pppsz_names | ||
) |
const char * input_item_GetMetaLocked | ( | input_item_t * | item, |
vlc_meta_type_t | meta_type | ||
) |
References input_item_t::lock, input_item_t::p_meta, vlc_meta_Get(), and vlc_mutex_assert.
Referenced by input_item_GetMeta(), and vlc_playlist_item_meta_InitField().
char * input_item_GetName | ( | input_item_t * | p_i | ) |
References input_item_t::lock, input_item_t::psz_name, psz_name, strdup(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by Destroy(), DisplayVoutTitle(), input_Create(), and vlc_strfplayer().
|
inlinestatic |
char * input_item_GetNowPlayingFb | ( | input_item_t * | p_item | ) |
References input_item_GetMeta(), vlc_meta_ESNowPlaying, and vlc_meta_NowPlaying.
Referenced by DisplayVoutTitle(), and vlc_strfplayer().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by DisplayVoutTitle().
char * input_item_GetTitleFbName | ( | input_item_t * | p_i | ) |
References EMPTY_STR, input_item_t::lock, input_item_t::p_meta, input_item_t::psz_name, strdup(), vlc_meta_Get(), vlc_meta_Title, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_strfplayer().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
References input_item_t::b_net, input_item_t::i_type, input_item_t::lock, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by vlc_playlist_AutoPreparse().
char * input_item_GetURI | ( | input_item_t * | p_i | ) |
References input_item_t::lock, input_item_t::psz_uri, strdup(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_WriteMeta(), and vlc_strfplayer().
|
inlinestatic |
input_item_t * input_item_Hold | ( | input_item_t * | p_item | ) |
Holds an input item, i.e.
creates a new reference.
References item_owner, input_item_owner::rc, and vlc_atomic_rc_inc().
Referenced by fingerprint_request_New(), input_Create(), input_item_node_Create(), on_children_added(), on_children_removed(), TaskNew(), TaskNew(), TaskNew(), vlc_player_HoldCurrentMedia(), vlc_player_SetCurrentMedia(), vlc_player_SetNextMedia(), vlc_player_Start(), and vlc_playlist_item_New().
bool input_item_IsArtFetched | ( | input_item_t * | p_i | ) |
References ITEM_ART_FETCHED, input_item_t::lock, input_item_t::p_meta, vlc_meta_GetStatus(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_ExtractAttachmentAndCacheArt().
bool input_item_IsPreparsed | ( | input_item_t * | p_i | ) |
References ITEM_PREPARSED, input_item_t::lock, input_item_t::p_meta, vlc_meta_GetStatus(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by Init(), and vlc_playlist_AutoPreparse().
void input_item_MergeInfos | ( | input_item_t * | p_item, |
info_category_t * | p_cat | ||
) |
References input_item_t::categories, info_category_Delete(), info_category_ReplaceInfo(), info_foreach, info_category_t::infos, InputItemFindCat(), input_item_t::lock, info_category_t::node, info_category_t::psz_name, vlc_list_append(), vlc_list_init(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutProgramMeta().
bool input_item_MetaMatch | ( | input_item_t * | p_i, |
vlc_meta_type_t | meta_type, | ||
const char * | psz | ||
) |
References input_item_t::lock, input_item_t::p_meta, strcasestr(), vlc_meta_Get(), vlc_mutex_lock(), and vlc_mutex_unlock().
input_item_t * input_item_NewExt | ( | const char * | psz_uri, |
const char * | psz_name, | ||
vlc_tick_t | i_duration, | ||
enum input_item_type_e | i_type, | ||
enum input_item_net_type | i_net | ||
) |
This function creates a new input_item_t with the provided information.
XXX You may also use input_item_New, as they need less arguments.
References input_item_t::b_net, input_item_t::categories, input_item_t::es_vec, input_item_t::i_duration, input_item_t::i_epg, input_item_t::i_options, input_item_t::i_slaves, input_item_t::i_type, input_item_SetName(), input_item_SetURI(), input_item_owner::item, ITEM_NET, ITEM_NET_UNKNOWN, ITEM_TYPE_UNKNOWN, input_item_t::lock, input_item_t::opaques, input_item_t::optflagc, input_item_t::optflagv, input_item_t::p_meta, input_item_t::p_stats, input_item_t::pp_epg, input_item_t::pp_slaves, input_item_t::ppsz_options, input_item_t::psz_name, psz_name, input_item_t::psz_uri, input_item_owner::rc, TAB_INIT, unlikely, vlc_atomic_rc_init(), vlc_list_init(), vlc_meta_New(), vlc_mutex_init(), and vlc_vector_init.
Referenced by input_item_Copy(), rdh_unflatten(), and vlc_readdir_helper_additem().
input_item_node_t * input_item_node_AppendItem | ( | input_item_node_t * | p_node, |
input_item_t * | p_item | ||
) |
Add a new child node to this parent node that will point to this subitem.
References input_item_node_AppendNode(), and input_item_node_Create().
Referenced by rdh_unflatten(), and vlc_readdir_helper_additem().
void input_item_node_AppendNode | ( | input_item_node_t * | p_parent, |
input_item_node_t * | p_child | ||
) |
Add an already created node to children of this parent node.
References input_item_node_t::i_children, input_item_node_t::pp_children, and TAB_APPEND.
Referenced by input_item_node_AppendItem(), and vlc_media_tree_AddChild().
input_item_node_t * input_item_node_Create | ( | input_item_t * | p_input | ) |
Start adding multiple subitems.
Create a root node to hold a tree of subitems for given item
References input_item_node_t::i_children, input_item_Hold(), input_item_node_t::p_item, and input_item_node_t::pp_children.
Referenced by demux_Demux(), input_item_node_AppendItem(), and vlc_media_tree_AddChild().
void input_item_node_Delete | ( | input_item_node_t * | p_node | ) |
Delete a node created with input_item_node_Create() and all its children.
References input_item_node_t::i_children, input_item_node_Delete(), input_item_Release(), input_item_node_t::p_item, and input_item_node_t::pp_children.
Referenced by demux_Demux(), EsOutVaControlLocked(), input_item_node_Delete(), rdh_attach_slaves(), vlc_media_tree_ClearChildren(), and vlc_media_tree_Remove().
void input_item_node_RemoveNode | ( | input_item_node_t * | parent, |
input_item_node_t * | child | ||
) |
Remove a node from its parent.
References input_item_node_t::i_children, input_item_node_t::pp_children, and TAB_REMOVE.
Referenced by rdh_attach_slaves(), and vlc_media_tree_Remove().
input_item_parser_id_t * input_item_Parse | ( | vlc_object_t * | parent, |
input_item_t * | item, | ||
const struct input_item_parser_cfg * | cfg | ||
) |
Parse an item asynchronously.
parent | the parent obj |
item | the item to parse |
cfg | pointer to a configuration struct, can't be NULL |
References input_item_parser_cfg::cbs, input_item_parser_id_t::cbs, input_item_parser_cfg::cbs_data, INIT_S, input_item_parser_id_t::input, input_Close(), input_Create, input_item_parser_InputEvent(), input_Start(), INPUT_TYPE_PREPARSING, input_item_parser_cfg::interact, input_item_parser_cbs_t::on_ended, vlc_input_thread_callbacks::on_event, input_item_parser_id_t::state, input_item_parser_cfg::subitems, vlc_input_thread_cfg::type, and input_item_parser_id_t::userdata.
Referenced by Parse().
void input_item_parser_id_Interrupt | ( | input_item_parser_id_t * | parser | ) |
Interrupts & cancels the parsing.
parser | the parser to interrupt |
References input_item_parser_id_t::input, and input_Stop().
Referenced by input_item_parser_id_Release().
void input_item_parser_id_Release | ( | input_item_parser_id_t * | parser | ) |
Release (and interrupt if needed) a parser.
parser | the parser returned by input_item_Parse |
References input_item_parser_id_t::input, input_Close(), and input_item_parser_id_Interrupt().
Referenced by Parse().
bool input_item_Playable | ( | const char * | psz_filename | ) |
This function checks whether the input item is of a type that can be played.
It does this by checking the extension of the input item.
References input_item_IsMaster(), and input_item_slave_GetType().
void input_item_Release | ( | input_item_t * | p_item | ) |
Releases an input item, i.e.
decrements its reference counter.
References input_item_t::categories, input_item_es_vector::data, input_item_es::es, es_format_Clean(), input_item_t::es_vec, input_item_t::i_epg, input_item_t::i_options, input_item_t::i_slaves, input_item_es::id, info_category_Delete(), input_item_slave_Delete, item_owner, input_item_opaque::next, input_item_t::opaques, input_item_t::optflagv, input_item_t::p_meta, input_item_t::p_stats, input_item_t::pp_epg, input_item_t::pp_slaves, input_item_t::ppsz_options, input_item_t::psz_name, input_item_t::psz_uri, input_item_owner::rc, input_item_es_vector::size, TAB_CLEAN, vlc_atomic_rc_dec(), vlc_epg_Delete(), vlc_list_foreach, vlc_meta_Delete(), and vlc_vector_destroy.
Referenced by add_to_playlist(), callback_ctx_destroy_reports(), Destroy(), fingerprint_request_Delete(), input_item_node_Delete(), intf_InsertItem(), rdh_unflatten(), TaskDelete(), TaskDelete(), TaskRelease(), test_media_tree(), test_media_tree_callbacks(), test_media_tree_callbacks_on_add_listener(), vlc_player_Delete(), vlc_player_InvalidateNextMedia(), vlc_player_OpenNextMedia(), vlc_player_SetNextMedia(), vlc_playlist_item_Release(), vlc_readdir_helper_additem(), vlm_MediaInstanceDelete(), and vlm_MediaInstanceNew().
void input_item_ReplaceInfos | ( | input_item_t * | p_item, |
info_category_t * | p_cat | ||
) |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void input_item_SetDuration | ( | input_item_t * | p_i, |
vlc_tick_t | i_duration | ||
) |
References input_item_t::i_duration, input_item_t::lock, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_item_parser_InputEvent(), and input_thread_Events().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by EsOutProgramEpg(), EsOutProgramSelect(), and input_Create().
|
inlinestatic |
|
inlinestatic |
void input_item_SetMeta | ( | input_item_t * | p_i, |
vlc_meta_type_t | meta_type, | ||
const char * | psz_val | ||
) |
References input_item_t::lock, input_item_t::p_meta, vlc_meta_Set, vlc_mutex_lock(), and vlc_mutex_unlock().
void input_item_SetMetaExtra | ( | input_item_t * | p_i, |
const char * | psz_name, | ||
const char * | psz_value | ||
) |
References input_item_t::lock, input_item_t::p_meta, psz_name, psz_value, vlc_meta_SetExtra, vlc_mutex_lock(), and vlc_mutex_unlock().
void input_item_SetName | ( | input_item_t * | p_item, |
const char * | psz_name | ||
) |
References input_item_t::lock, input_item_t::psz_name, psz_name, strdup(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutMeta(), and input_item_NewExt().
|
inlinestatic |
Referenced by input_Create().
|
inlinestatic |
Referenced by EsOutProgramMeta(), and EsOutProgramSelect().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Referenced by EsOutProgramSelect().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
void input_item_SetURI | ( | input_item_t * | p_i, |
const char * | psz_uri | ||
) |
References asprintf(), input_item_t::b_net, EnsureUTF8(), GuessType(), vlc_url_t::i_port, input_item_t::i_type, ITEM_TYPE_DIRECTORY, ITEM_TYPE_FILE, input_item_t::lock, vlc_url_t::psz_host, input_item_t::psz_name, vlc_url_t::psz_path, vlc_url_t::psz_protocol, input_item_t::psz_uri, strdup(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_uri_decode(), vlc_UrlClean(), and vlc_UrlParse().
Referenced by input_item_NewExt(), and vlm_ControlMediaInstanceStart().
|
inlinestatic |
bool input_item_slave_GetType | ( | const char * | psz_filename, |
enum slave_type * | p_slave_type | ||
) |
References ARRAY_SIZE, bsearch_strcmp_cb(), i_type, psz_ext, SLAVE_AUDIO_EXTENSIONS, SLAVE_SPU_EXTENSIONS, SLAVE_TYPE_GENERIC, and SLAVE_TYPE_SPU.
Referenced by DeduceSlaveType(), input_item_Playable(), rdh_attach_slaves(), and vlc_readdir_helper_additem().
input_item_slave_t * input_item_slave_New | ( | const char * | psz_uri, |
enum | slave_type, | ||
enum | slave_priority | ||
) |
References input_item_slave::b_forced, input_item_slave::i_priority, input_item_slave::i_type, i_type, and input_item_slave::psz_uri.
Referenced by GetVarSlaves(), input_item_Copy(), LoadSlaves(), rdh_attach_slaves(), subtitles_Detect(), vlc_player_AddAssociatedMedia(), and vlc_readdir_helper_additem().
int vlc_readdir_helper_additem | ( | struct vlc_readdir_helper * | p_rdh, |
const char * | psz_uri, | ||
const char * | psz_flatpath, | ||
const char * | psz_filename, | ||
int | i_type, | ||
int | i_net, | ||
input_item_t ** | created_item | ||
) |
Add a new input_item_t entry to the node of the vlc_readdir_helper struct.
p_rdh | a readdir helper initialized with vlc_readdir_helper_init | |
psz_uri | uri of the new item | |
psz_flatpath | flattened path of the new item. If not NULL, this function will create an input item for each sub folders (separated by '/') of psz_flatpath (so, this will un-flatten the folder hierarchy). Either psz_flatpath or psz_filename must be valid. | |
psz_filename | file name of the new item. If NULL, the file part of path will be used as a filename. Either psz_flatpath or psz_filename must be valid. | |
i_type | see input_item_type_e | |
i_net | see input_item_net_type | |
[out] | created_item | if an input item is created. The item should not be released and is valid until vlc_readdir_helper_finish() is called. |
void vlc_readdir_helper_finish | ( | struct vlc_readdir_helper * | p_rdh, |
bool | b_success | ||
) |
Finish adding items to the node.
p_rdh | a readdir helper initialized with vlc_readdir_helper_init |
b_success | if true, items of the node will be sorted. |
References vlc_readdir_helper::i_dirs, vlc_readdir_helper::i_slaves, input_item_slave_Delete, vlc_readdir_helper::p_node, rdh_slave::p_slave, vlc_readdir_helper::pp_dirs, vlc_readdir_helper::pp_slaves, rdh_slave::psz_filename, vlc_readdir_helper::psz_ignored_exts, rdh_attach_slaves(), rdh_sort(), and TAB_CLEAN.
void vlc_readdir_helper_init | ( | struct vlc_readdir_helper * | p_rdh, |
vlc_object_t * | p_obj, | ||
input_item_node_t * | p_node | ||
) |
Init a vlc_readdir_helper struct.
p_rdh | need to be cleaned with vlc_readdir_helper_finish() |
p_obj | the VLC object to use for logging |
p_node | node that will be used to add items |
References vlc_readdir_helper::b_flatten, vlc_readdir_helper::b_show_hiddenfiles, vlc_readdir_helper::i_dirs, vlc_readdir_helper::i_slaves, vlc_readdir_helper::i_sub_autodetect_fuzzy, input_item_ApplyOptions(), input_item_node_t::p_item, vlc_readdir_helper::p_node, rdh_dir::p_node, vlc_readdir_helper::pp_dirs, vlc_readdir_helper::pp_slaves, vlc_readdir_helper::psz_ignored_exts, TAB_INIT, var_InheritBool(), var_InheritInteger(), var_InheritString(), vlc_object_create, and vlc_object_delete.