24#ifndef VLC_INPUT_ITEM_H
25#define VLC_INPUT_ITEM_H 1
51#define info_foreach(info, cat) vlc_list_foreach(info, cat, node)
134#define INPUT_ITEM_URI_NOP "vlc://nop"
138#define INPUT_DURATION_UNSET VLC_TICK_INVALID
139#define INPUT_DURATION_INDEFINITE (-1)
164#define MASTER_EXTENSIONS \
165 "asf", "avi", "divx", \
166 "f4v", "flv", "m1v", \
167 "m2v", "m4v", "mkv", \
168 "mov", "mp2", "mp2v", \
169 "mp4", "mp4v", "mpe", \
170 "mpeg", "mpeg1", "mpeg2", \
171 "mpeg4", "mpg", "mpv2", \
172 "mxf", "ogv", "ogx", \
173 "ps", "vro","webm", \
176#define SLAVE_SPU_EXTENSIONS \
177 "aqt", "ass", "cdg", \
178 "dks", "idx", "jss", \
179 "mpl2", "mpsub", "pjs", \
180 "psb", "rt", "sami", "sbv", \
181 "scc", "smi", "srt", \
182 "ssa", "stl", "sub", \
183 "tt", "ttml", "usf", \
186#define SLAVE_AUDIO_EXTENSIONS \
187 "aac", "ac3", "dts", \
188 "dtshd", "eac3", "flac", \
189 "m4a", "mp3", "pcm" \
259 const char *
const *ppsz_options,
275#define input_item_slave_Delete(p_slave) free(p_slave)
301#define INPUT_META( name ) \
303void input_item_Set ## name (input_item_t *p_input, const char *val) \
305 input_item_SetMeta (p_input, vlc_meta_ ## name, val); \
308char *input_item_Get ## name (input_item_t *p_input) \
310 return input_item_GetMeta (p_input, vlc_meta_ ## name); \
341#define input_item_SetTrackNum input_item_SetTrackNumber
342#define input_item_GetTrackNum input_item_GetTrackNumber
343#define input_item_SetArtURL input_item_SetArtworkURL
344#define input_item_GetArtURL input_item_GetArtworkURL
353#define input_item_AddStat(item, type, value) \
354 input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)
366#define input_item_New( psz_uri, psz_name ) \
367 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN )
369#define input_item_NewCard( psz_uri, psz_name ) \
370 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL )
372#define input_item_NewDisc( psz_uri, psz_name, i_duration ) \
373 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )
375#define input_item_NewStream( psz_uri, psz_name, i_duration ) \
376 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET )
378#define input_item_NewDirectory( psz_uri, psz_name, i_net ) \
379 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_DIRECTORY, i_net )
381#define input_item_NewFile( psz_uri, psz_name, i_duration, i_net ) \
382 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_FILE, i_net )
415 *is_network = p_i->
b_net;
424#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
430 const char *psz_path,
const char *psz_prefix,
431 const char *psz_extension )
VLC_USED;
481 size_t count,
void *userdata);
595#define vlc_readdir_helper_init(p_rdh, p_obj, p_node) \
596 vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)
626 const char *psz_uri,
const char *psz_flatpath,
627 const char *psz_filename,
size_t count
Definition core.c:403
#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:193
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition threads.c:149
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition threads.c:95
#define VLC_VECTOR(type)
Vector struct body.
Definition vlc_vector.h:66
int i_type
Definition httpd.c:1299
Definition vlc_input_item.h:55
struct vlc_list node
node, to put this category in a list
Definition vlc_input_item.h:58
char * psz_name
Name of this category.
Definition vlc_input_item.h:56
struct vlc_list infos
Infos in the category.
Definition vlc_input_item.h:57
Definition vlc_input_item.h:46
struct vlc_list node
Definition vlc_input_item.h:49
char * psz_value
Value of the info.
Definition vlc_input_item.h:48
char * psz_name
Name of this info.
Definition vlc_input_item.h:47
Doubly-linked list node.
Definition vlc_list.h:44
Mutex.
Definition vlc_threads.h:143
VLC object common members.
Definition vlc_objects.h:53
Access pf_readdir helper struct.
Definition vlc_input_item.h:575
char * psz_ignored_exts
Definition vlc_input_item.h:584
void ** pp_slaves
Definition vlc_input_item.h:577
input_item_node_t * p_node
Definition vlc_input_item.h:576
bool b_flatten
Definition vlc_input_item.h:583
int i_sub_autodetect_fuzzy
Definition vlc_input_item.h:581
bool b_show_hiddenfiles
Definition vlc_input_item.h:582
size_t i_slaves
Definition vlc_input_item.h:578
size_t i_dirs
Definition vlc_input_item.h:580
void ** pp_dirs
Definition vlc_input_item.h:579
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 defines the elementary streams format types.
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:48
This provides convenience helpers for vectors.
char psz_value[8]
Definition vout_intf.c:110