24#ifndef VLC_INPUT_ITEM_H
25#define VLC_INPUT_ITEM_H 1
50#define info_foreach(info, cat) vlc_list_foreach(info, cat, node)
138#define INPUT_ITEM_URI_NOP "vlc://nop"
142#define INPUT_DURATION_UNSET VLC_TICK_INVALID
143#define INPUT_DURATION_INDEFINITE (-1)
168#define MASTER_EXTENSIONS \
169 "asf", "avi", "divx", \
170 "f4v", "flv", "m1v", \
171 "m2v", "m4v", "mkv", \
172 "mov", "mp2", "mp2v", \
173 "mp4", "mp4v", "mpe", \
174 "mpeg", "mpeg1", "mpeg2", \
175 "mpeg4", "mpg", "mpv2", \
176 "mxf", "ogv", "ogx", \
177 "ps", "vro","webm", \
180#define SLAVE_SPU_EXTENSIONS \
181 "aqt", "ass", "cdg", \
182 "dks", "idx", "jss", \
183 "mpl2", "mpsub", "pjs", \
184 "psb", "rt", "sami", "sbv", \
185 "scc", "smi", "srt", \
186 "ssa", "stl", "sub", \
187 "tt", "ttml", "usf", \
190#define SLAVE_AUDIO_EXTENSIONS \
191 "aac", "ac3", "dts", \
192 "dtshd", "eac3", "flac", \
193 "m4a", "mp3", "pcm" \
263 const char *
const *ppsz_options,
273#define input_item_slave_Delete(p_slave) free(p_slave)
297#define INPUT_META( name ) \
299void input_item_Set ## name (input_item_t *p_input, const char *val) \
301 input_item_SetMeta (p_input, vlc_meta_ ## name, val); \
304char *input_item_Get ## name (input_item_t *p_input) \
306 return input_item_GetMeta (p_input, vlc_meta_ ## name); \
337#define input_item_SetTrackNum input_item_SetTrackNumber
338#define input_item_GetTrackNum input_item_GetTrackNumber
339#define input_item_SetArtURL input_item_SetArtworkURL
340#define input_item_GetArtURL input_item_GetArtworkURL
349#define input_item_AddStat(item, type, value) \
350 input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)
362#define input_item_New( psz_uri, psz_name ) \
363 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN )
365#define input_item_NewCard( psz_uri, psz_name ) \
366 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL )
368#define input_item_NewDisc( psz_uri, psz_name, i_duration ) \
369 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )
371#define input_item_NewStream( psz_uri, psz_name, i_duration ) \
372 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET )
374#define input_item_NewDirectory( psz_uri, psz_name, i_net ) \
375 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_DIRECTORY, i_net )
377#define input_item_NewFile( psz_uri, psz_name, i_duration, i_net ) \
378 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_FILE, i_net )
395#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
401 const char *psz_path,
const char *psz_prefix,
402 const char *psz_extension )
VLC_USED;
571#define vlc_readdir_helper_init(p_rdh, p_obj, p_node) \
572 vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)
601 const char *psz_uri,
const char *psz_flatpath,
602 const char *psz_filename,
#define VLC_USED
Definition: fourcc_gen.c:32
#define VLC_API
Definition: fourcc_gen.c:31
#define VLC_FORMAT(x, y)
String format function annotation.
Definition: vlc_common.h:204
int i_type
Definition: httpd.c:1282
Definition: vlc_input_item.h:54
struct vlc_list node
node, to put this category in a list
Definition: vlc_input_item.h:57
char * psz_name
Name of this category.
Definition: vlc_input_item.h:55
struct vlc_list infos
Infos in the category.
Definition: vlc_input_item.h:56
Definition: vlc_input_item.h:45
struct vlc_list node
Definition: vlc_input_item.h:48
char * psz_value
Value of the info.
Definition: vlc_input_item.h:47
char * psz_name
Name of this info.
Definition: vlc_input_item.h:46
Definition: vlc_objects.h:91
Definition: vlc_events.h:119
Doubly-linked list node.
Definition: vlc_list.h:44
Mutex.
Definition: vlc_threads.h:195
VLC object common members.
Definition: vlc_objects.h:45
Access pf_readdir helper struct.
Definition: vlc_input_item.h:552
char * psz_ignored_exts
Definition: vlc_input_item.h:561
void ** pp_slaves
Definition: vlc_input_item.h:554
input_item_node_t * p_node
Definition: vlc_input_item.h:553
bool b_flatten
Definition: vlc_input_item.h:560
int i_sub_autodetect_fuzzy
Definition: vlc_input_item.h:558
bool b_show_hiddenfiles
Definition: vlc_input_item.h:559
size_t i_slaves
Definition: vlc_input_item.h:555
size_t i_dirs
Definition: vlc_input_item.h:557
void ** pp_dirs
Definition: vlc_input_item.h:556
const char * psz_name
Definition: text_style.c:33
This file is a collection of common definitions and types.
This file defines functions and structures for storing dvb epg information.
This file is the interface definition for events (implementation in src/misc/events....
This provides convenience helpers for linked lists.
Thread primitive declarations.
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45