VLC 4.0.0-dev
Loading...
Searching...
No Matches
vlc_input_item.h File Reference

This file defines functions, structures and enums for input items in vlc. More...

Include dependency graph for vlc_input_item.h:

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...
 

Macros

#define info_foreach(info, cat)   vlc_list_foreach(info, cat, node)
 
#define INPUT_ITEM_URI_NOP   "vlc://nop" /* dummy URI for node/directory items */
 
#define INPUT_DURATION_UNSET   VLC_TICK_INVALID
 
#define INPUT_DURATION_INDEFINITE   (-1) /* item with a known indefinite duration (live/continuous source) */
 
#define MASTER_EXTENSIONS
 
#define SLAVE_SPU_EXTENSIONS
 
#define SLAVE_AUDIO_EXTENSIONS
 
#define input_item_slave_Delete(p_slave)   free(p_slave)
 
#define INPUT_META(name)
 
#define input_item_SetTrackNum   input_item_SetTrackNumber
 
#define input_item_GetTrackNum   input_item_GetTrackNumber
 
#define input_item_SetArtURL   input_item_SetArtworkURL
 
#define input_item_GetArtURL   input_item_GetArtworkURL
 
#define input_item_AddStat(item, type, value)    input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)
 
#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_NewDisc(psz_uri, psz_name, i_duration)    input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )
 
#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_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_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_RECORD_PREFIX   "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
 Record prefix string.
 
#define vlc_readdir_helper_init(p_rdh, p_obj, p_node)    vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)
 

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_tinput_item_node_Create (input_item_t *p_input)
 Start adding multiple subitems.
 
input_item_node_tinput_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_tinput_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_tinput_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_tinput_item_Copy (input_item_t *)
 This function creates a new input_item_t as a copy of another.
 
input_item_tinput_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_tinput_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.
 

Detailed Description

This file defines functions, structures and enums for input items in vlc.

Macro Definition Documentation

◆ info_foreach

#define info_foreach (   info,
  cat 
)    vlc_list_foreach(info, cat, node)

◆ INPUT_DURATION_INDEFINITE

#define INPUT_DURATION_INDEFINITE   (-1) /* item with a known indefinite duration (live/continuous source) */

◆ INPUT_DURATION_UNSET

#define INPUT_DURATION_UNSET   VLC_TICK_INVALID

◆ input_item_AddStat

#define input_item_AddStat (   item,
  type,
  value 
)     input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)

◆ input_item_GetArtURL

#define input_item_GetArtURL   input_item_GetArtworkURL

◆ input_item_GetTrackNum

#define input_item_GetTrackNum   input_item_GetTrackNumber

◆ input_item_New

#define input_item_New (   psz_uri,
  psz_name 
)     input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN )

◆ input_item_NewCard

#define input_item_NewCard (   psz_uri,
  psz_name 
)     input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL )

◆ input_item_NewDirectory

#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 )

◆ input_item_NewDisc

#define input_item_NewDisc (   psz_uri,
  psz_name,
  i_duration 
)     input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )

◆ input_item_NewFile

#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 )

◆ input_item_NewStream

#define input_item_NewStream (   psz_uri,
  psz_name,
  i_duration 
)     input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET )

◆ input_item_SetArtURL

#define input_item_SetArtURL   input_item_SetArtworkURL

◆ input_item_SetTrackNum

#define input_item_SetTrackNum   input_item_SetTrackNumber

◆ input_item_slave_Delete

#define input_item_slave_Delete (   p_slave)    free(p_slave)

◆ INPUT_ITEM_URI_NOP

#define INPUT_ITEM_URI_NOP   "vlc://nop" /* dummy URI for node/directory items */

◆ INPUT_META

#define INPUT_META (   name)
Value:
static inline \
void input_item_Set ## name (input_item_t *p_input, const char *val) \
{ \
input_item_SetMeta (p_input, vlc_meta_ ## name, val); \
} \
static inline \
char *input_item_Get ## name (input_item_t *p_input) \
{ \
return input_item_GetMeta (p_input, vlc_meta_ ## name); \
}
const char name[16]
Definition httpd.c:1298
Describes an input and is used to spawn input_thread_t objects.
Definition vlc_input_item.h:98
char * input_item_GetMeta(input_item_t *p_i, vlc_meta_type_t meta_type)
Definition item.c:203

◆ INPUT_RECORD_PREFIX

#define INPUT_RECORD_PREFIX   "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"

Record prefix string.

TODO make it configurable.

◆ MASTER_EXTENSIONS

#define MASTER_EXTENSIONS
Value:
"asf", "avi", "divx", \
"f4v", "flv", "m1v", \
"m2v", "m4v", "mkv", \
"mov", "mp2", "mp2v", \
"mp4", "mp4v", "mpe", \
"mpeg", "mpeg1", "mpeg2", \
"mpeg4", "mpg", "mpv2", \
"mxf", "ogv", "ogx", \
"ps", "vro","webm", \
"wmv", "wtv"

◆ SLAVE_AUDIO_EXTENSIONS

#define SLAVE_AUDIO_EXTENSIONS
Value:
"aac", "ac3", "dts", \
"dtshd", "eac3", "flac", \
"m4a", "mp3", "pcm" \

◆ SLAVE_SPU_EXTENSIONS

#define SLAVE_SPU_EXTENSIONS
Value:
"aqt", "ass", "cdg", \
"dks", "idx", "jss", \
"mpl2", "mpsub", "pjs", \
"psb", "rt", "sami", "sbv", \
"scc", "smi", "srt", \
"ssa", "stl", "sub", \
"tt", "ttml", "usf", \
"vtt", "webvtt"

◆ vlc_readdir_helper_init

#define vlc_readdir_helper_init (   p_rdh,
  p_obj,
  p_node 
)     vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)

Typedef Documentation

◆ input_item_opaque_t

◆ input_item_parser_cbs_t

input item parser callbacks

◆ input_item_parser_id_t

input item parser opaque structure

◆ input_item_slave_t

Enumeration Type Documentation

◆ input_item_net_type

Enumerator
ITEM_NET_UNKNOWN 
ITEM_NET 
ITEM_LOCAL 

◆ input_item_option_e

Option flags.

Enumerator
VLC_INPUT_OPTION_TRUSTED 
VLC_INPUT_OPTION_UNIQUE 

◆ input_item_type_e

Enumerator
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 

◆ slave_priority

Enumerator
SLAVE_PRIORITY_MATCH_NONE 
SLAVE_PRIORITY_MATCH_RIGHT 
SLAVE_PRIORITY_MATCH_LEFT 
SLAVE_PRIORITY_MATCH_ALL 
SLAVE_PRIORITY_USER 

◆ slave_type

enum slave_type
Enumerator
SLAVE_TYPE_SPU 
SLAVE_TYPE_GENERIC 

Function Documentation

◆ info_category_IsHidden()

static bool info_category_IsHidden ( info_category_t cat)
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.

◆ input_item_AddInfo()

int input_item_AddInfo ( input_item_t p_i,
const char *  psz_cat,
const char *  psz_name,
const char *  psz_format,
  ... 
)

◆ input_item_AddOpaque()

int input_item_AddOpaque ( input_item_t item,
const char *  name,
void *  value 
)

◆ input_item_AddOption()

int input_item_AddOption ( input_item_t p_input,
const char *  psz_option,
unsigned  i_flags 
)

◆ input_item_AddOptions()

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().

◆ input_item_AddSlave()

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().

◆ input_item_ApplyOptions()

◆ input_item_Copy()

◆ input_item_CopyOptions()

◆ input_item_CreateFilename()

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().

◆ input_item_DelInfo()

◆ input_item_GetActors()

static char * input_item_GetActors ( input_item_t p_input)
inlinestatic

◆ input_item_GetAlbum()

static char * input_item_GetAlbum ( input_item_t p_input)
inlinestatic

◆ input_item_GetAlbumArtist()

static char * input_item_GetAlbumArtist ( input_item_t p_input)
inlinestatic

◆ input_item_GetArtist()

static char * input_item_GetArtist ( input_item_t p_input)
inlinestatic

Referenced by DisplayVoutTitle().

◆ input_item_GetArtworkURL()

static char * input_item_GetArtworkURL ( input_item_t p_input)
inlinestatic

◆ input_item_GetCopyright()

static char * input_item_GetCopyright ( input_item_t p_input)
inlinestatic

◆ input_item_GetDate()

static char * input_item_GetDate ( input_item_t p_input)
inlinestatic

◆ input_item_GetDescription()

static char * input_item_GetDescription ( input_item_t p_input)
inlinestatic

◆ input_item_GetDirector()

static char * input_item_GetDirector ( input_item_t p_input)
inlinestatic

◆ input_item_GetDiscNumber()

static char * input_item_GetDiscNumber ( input_item_t p_input)
inlinestatic

◆ input_item_GetDiscTotal()

static char * input_item_GetDiscTotal ( input_item_t p_input)
inlinestatic

◆ input_item_GetDuration()

◆ input_item_GetEncodedBy()

static char * input_item_GetEncodedBy ( input_item_t p_input)
inlinestatic

◆ input_item_GetEpisode()

static char * input_item_GetEpisode ( input_item_t p_input)
inlinestatic

◆ input_item_GetESNowPlaying()

static char * input_item_GetESNowPlaying ( input_item_t p_input)
inlinestatic

◆ input_item_GetGenre()

static char * input_item_GetGenre ( input_item_t p_input)
inlinestatic

◆ input_item_GetInfo()

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.

Parameters
p_iThe input item to get info from
psz_catString representing the category for the info
psz_nameString representing the name of the desired info
Returns
A pointer to the string with the given info if found, or an empty string otherwise. The caller should free the returned pointer.

References input_item_GetInfoLocked(), input_item_t::lock, psz_name, vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by input_FindArtInCacheUsingItemUID(), and input_SaveArt().

◆ input_item_GetInfoLocked()

char * input_item_GetInfoLocked ( input_item_t p_i,
const char *  psz_cat,
const char *  psz_name 
)

◆ input_item_GetLanguage()

static char * input_item_GetLanguage ( input_item_t p_input)
inlinestatic

◆ input_item_GetMeta()

◆ input_item_GetMetaExtra()

char * input_item_GetMetaExtra ( input_item_t p_i,
const char *  psz_name 
)

◆ input_item_GetMetaExtraNames()

unsigned input_item_GetMetaExtraNames ( input_item_t p_i,
char ***  pppsz_names 
)

◆ input_item_GetMetaLocked()

const char * input_item_GetMetaLocked ( input_item_t item,
vlc_meta_type_t  meta_type 
)

◆ input_item_GetName()

◆ input_item_GetNowPlaying()

static char * input_item_GetNowPlaying ( input_item_t p_input)
inlinestatic

◆ input_item_GetNowPlayingFb()

char * input_item_GetNowPlayingFb ( input_item_t p_item)

◆ input_item_GetPublisher()

static char * input_item_GetPublisher ( input_item_t p_input)
inlinestatic

◆ input_item_GetRating()

static char * input_item_GetRating ( input_item_t p_input)
inlinestatic

◆ input_item_GetSeason()

static char * input_item_GetSeason ( input_item_t p_input)
inlinestatic

◆ input_item_GetSetting()

static char * input_item_GetSetting ( input_item_t p_input)
inlinestatic

◆ input_item_GetShowName()

static char * input_item_GetShowName ( input_item_t p_input)
inlinestatic

◆ input_item_GetTitle()

static char * input_item_GetTitle ( input_item_t p_input)
inlinestatic

Referenced by DisplayVoutTitle().

◆ input_item_GetTitleFbName()

◆ input_item_GetTrackID()

static char * input_item_GetTrackID ( input_item_t p_input)
inlinestatic

◆ input_item_GetTrackNumber()

static char * input_item_GetTrackNumber ( input_item_t p_input)
inlinestatic

◆ input_item_GetTrackTotal()

static char * input_item_GetTrackTotal ( input_item_t p_input)
inlinestatic

◆ input_item_GetType()

static enum input_item_type_e input_item_GetType ( input_item_t p_i,
bool *  is_network 
)
inlinestatic

◆ input_item_GetURI()

◆ input_item_GetURL()

static char * input_item_GetURL ( input_item_t p_input)
inlinestatic

◆ input_item_Hold()

◆ input_item_IsArtFetched()

◆ input_item_IsPreparsed()

◆ input_item_MergeInfos()

◆ input_item_MetaMatch()

bool input_item_MetaMatch ( input_item_t p_i,
vlc_meta_type_t  meta_type,
const char *  psz 
)

◆ input_item_NewExt()

◆ input_item_node_AppendItem()

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().

◆ input_item_node_AppendNode()

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_Create()

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().

◆ input_item_node_Delete()

◆ input_item_node_RemoveNode()

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_Parse()

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.

Note
The parsing is done asynchronously. The user can call input_item_parser_id_Interrupt() before receiving the on_ended() event in order to interrupt it.
Parameters
parentthe parent obj
itemthe item to parse
cfgpointer to a configuration struct, can't be NULL
Returns
a parser instance or NULL in case of error, the parser needs to be released with input_item_parser_id_Release()

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().

◆ input_item_parser_id_Interrupt()

void input_item_parser_id_Interrupt ( input_item_parser_id_t parser)

Interrupts & cancels the parsing.

Note
The parser still needs to be released with input_item_parser_id_Release afterward.
Calling this function will cause the on_ended callback to be invoked.
Parameters
parserthe parser to interrupt

References input_item_parser_id_t::input, and input_Stop().

Referenced by input_item_parser_id_Release().

◆ input_item_parser_id_Release()

void input_item_parser_id_Release ( input_item_parser_id_t parser)

Release (and interrupt if needed) a parser.

Parameters
parserthe parser returned by input_item_Parse

References input_item_parser_id_t::input, input_Close(), and input_item_parser_id_Interrupt().

Referenced by Parse().

◆ input_item_Playable()

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().

◆ input_item_Release()

◆ input_item_ReplaceInfos()

◆ input_item_SetActors()

static void input_item_SetActors ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetAlbum()

static void input_item_SetAlbum ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetAlbumArtist()

static void input_item_SetAlbumArtist ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetArtist()

static void input_item_SetArtist ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetArtworkURL()

static void input_item_SetArtworkURL ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetCopyright()

static void input_item_SetCopyright ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDate()

static void input_item_SetDate ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDescription()

static void input_item_SetDescription ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDirector()

static void input_item_SetDirector ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDiscNumber()

static void input_item_SetDiscNumber ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDiscTotal()

static void input_item_SetDiscTotal ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetDuration()

void input_item_SetDuration ( input_item_t p_i,
vlc_tick_t  i_duration 
)

◆ input_item_SetEncodedBy()

static void input_item_SetEncodedBy ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetEpisode()

static void input_item_SetEpisode ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetESNowPlaying()

static void input_item_SetESNowPlaying ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetGenre()

static void input_item_SetGenre ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetLanguage()

static void input_item_SetLanguage ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetMeta()

void input_item_SetMeta ( input_item_t p_i,
vlc_meta_type_t  meta_type,
const char *  psz_val 
)

◆ input_item_SetMetaExtra()

void input_item_SetMetaExtra ( input_item_t p_i,
const char *  psz_name,
const char *  psz_value 
)

◆ input_item_SetName()

void input_item_SetName ( input_item_t p_item,
const char *  psz_name 
)

◆ input_item_SetNowPlaying()

static void input_item_SetNowPlaying ( input_item_t p_input,
const char *  val 
)
inlinestatic

Referenced by input_Create().

◆ input_item_SetPublisher()

static void input_item_SetPublisher ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetRating()

static void input_item_SetRating ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetSeason()

static void input_item_SetSeason ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetSetting()

static void input_item_SetSetting ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetShowName()

static void input_item_SetShowName ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetTitle()

static void input_item_SetTitle ( input_item_t p_input,
const char *  val 
)
inlinestatic

Referenced by EsOutProgramSelect().

◆ input_item_SetTrackID()

static void input_item_SetTrackID ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetTrackNumber()

static void input_item_SetTrackNumber ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetTrackTotal()

static void input_item_SetTrackTotal ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_SetURI()

◆ input_item_SetURL()

static void input_item_SetURL ( input_item_t p_input,
const char *  val 
)
inlinestatic

◆ input_item_slave_GetType()

bool input_item_slave_GetType ( const char *  psz_filename,
enum slave_type p_slave_type 
)

◆ input_item_slave_New()

◆ 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.

Parameters
p_rdha readdir helper initialized with vlc_readdir_helper_init
psz_uriuri of the new item
psz_flatpathflattened 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_filenamefile 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_typesee input_item_type_e
i_netsee input_item_net_type
[out]created_itemif an input item is created. The item should not be released and is valid until vlc_readdir_helper_finish() is called.
Returns
status VLC_SUCCESS in case of success, an error otherwise. Parsing should be aborted in case of error.

◆ vlc_readdir_helper_finish()

void vlc_readdir_helper_finish ( struct vlc_readdir_helper p_rdh,
bool  b_success 
)

◆ vlc_readdir_helper_init()