|
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. | |
| int | input_item_Update (input_item_t *dst, input_item_t *src) |
| Update an input item with data from another input item. | |
| 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_es::es, es_format_Clean(), es_format_Copy(), es_format_Init(), input_item_t::es_vec, 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_es::id, input_item_es::id_stable, input_item_CopyOptions(), input_item_NewExt(), input_item_Release(), 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, strdup(), TAB_APPEND, UNKNOWN_ES, unlikely, vlc_meta_Merge(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, vlc_vector_foreach, and vlc_vector_push.
Referenced by input_item_Update().
| 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(), preparser_task_ExecCallback(), preparser_task_New(), PreparserRequestNew(), 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(), input_item_parser_InputEvent(), input_thread_Events(), media_subtree_changed(), on_subtree_added(), rdh_attach_slaves(), vlc_media_tree_ClearChildren(), vlc_media_tree_Remove(), and vlc_preparser_msg_Clean().
| 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, vlc_input_thread_cfg::INPUT_CFG_HW_DEC_DISABLED, 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_Copy(), input_item_node_Delete(), input_item_Update(), intf_InsertItem(), preparser_task_Delete(), preparser_task_req_Release(), PreparserRequestDelete(), rdh_unflatten(), TaskDelete(), 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_preparser_msg_Clean(), 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 input_item_Update | ( | input_item_t * | dst, |
| input_item_t * | src | ||
| ) |
Update an input item with data from another input item.
Copies metadata and associated fields from src to dst. The function creates a temporary copy of the source item and transfers ownership of relevant data fields (such as name, URI, duration, meta, ES and slave lists) to the destination item, replacing any existing values.
| [in,out] | dst | Destination input item to be updated. |
| [in] | src | Source input item containing new values. |
References input_item_es::es, es_format_Clean(), input_item_t::es_vec, input_item_t::i_duration, input_item_t::i_slaves, input_item_es::id, input_item_Copy(), input_item_Release(), input_item_slave_Delete, input_item_t::lock, input_item_t::p_meta, input_item_t::pp_slaves, input_item_t::psz_name, input_item_t::psz_uri, TAB_CLEAN, VLC_EGENERIC, vlc_meta_Merge(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, vlc_vector_clear, vlc_vector_foreach, and vlc_vector_init.
Referenced by preparser_task_ExecCallback().
| 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.