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)
137#define INPUT_ITEM_URI_NOP "vlc://nop"
141#define INPUT_DURATION_UNSET VLC_TICK_INVALID
142#define INPUT_DURATION_INDEFINITE (-1)
167#define MASTER_EXTENSIONS \
168 "asf", "avi", "divx", \
169 "f4v", "flv", "m1v", \
170 "m2v", "m4v", "mkv", \
171 "mov", "mp2", "mp2v", \
172 "mp4", "mp4v", "mpe", \
173 "mpeg", "mpeg1", "mpeg2", \
174 "mpeg4", "mpg", "mpv2", \
175 "mxf", "ogv", "ogx", \
176 "ps", "vro","webm", \
179#define SLAVE_SPU_EXTENSIONS \
180 "aqt", "ass", "cdg", \
181 "dks", "idx", "jss", \
182 "mpl2", "mpsub", "pjs", \
183 "psb", "rt", "sami", "sbv", \
184 "scc", "smi", "srt", \
185 "ssa", "stl", "sub", \
186 "tt", "ttml", "usf", \
189#define SLAVE_AUDIO_EXTENSIONS \
190 "aac", "ac3", "dts", \
191 "dtshd", "eac3", "flac", \
192 "m4a", "mp3", "pcm" \
262 const char *
const *ppsz_options,
278#define input_item_slave_Delete(p_slave) free(p_slave)
304#define INPUT_META( name ) \
306void input_item_Set ## name (input_item_t *p_input, const char *val) \
308 input_item_SetMeta (p_input, vlc_meta_ ## name, val); \
311char *input_item_Get ## name (input_item_t *p_input) \
313 return input_item_GetMeta (p_input, vlc_meta_ ## name); \
344#define input_item_SetTrackNum input_item_SetTrackNumber
345#define input_item_GetTrackNum input_item_GetTrackNumber
346#define input_item_SetArtURL input_item_SetArtworkURL
347#define input_item_GetArtURL input_item_GetArtworkURL
356#define input_item_AddStat(item, type, value) \
357 input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)
369#define input_item_New( psz_uri, psz_name ) \
370 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN )
372#define input_item_NewCard( psz_uri, psz_name ) \
373 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL )
375#define input_item_NewDisc( psz_uri, psz_name, i_duration ) \
376 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )
378#define input_item_NewStream( psz_uri, psz_name, i_duration ) \
379 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET )
381#define input_item_NewDirectory( psz_uri, psz_name, i_net ) \
382 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_DIRECTORY, i_net )
384#define input_item_NewFile( psz_uri, psz_name, i_duration, i_net ) \
385 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_FILE, i_net )
403 *is_network = p_i->
b_net;
412#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
418 const char *psz_path,
const char *psz_prefix,
419 const char *psz_extension )
VLC_USED;
469 size_t count,
void *userdata);
583#define vlc_readdir_helper_init(p_rdh, p_obj, p_node) \
584 vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)
614 const char *psz_uri,
const char *psz_flatpath,
615 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:563
char * psz_ignored_exts
Definition vlc_input_item.h:572
void ** pp_slaves
Definition vlc_input_item.h:565
input_item_node_t * p_node
Definition vlc_input_item.h:564
bool b_flatten
Definition vlc_input_item.h:571
int i_sub_autodetect_fuzzy
Definition vlc_input_item.h:569
bool b_show_hiddenfiles
Definition vlc_input_item.h:570
size_t i_slaves
Definition vlc_input_item.h:566
size_t i_dirs
Definition vlc_input_item.h:568
void ** pp_dirs
Definition vlc_input_item.h:567
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:102