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)
143#define INPUT_ITEM_URI_NOP "vlc://nop"
147#define INPUT_DURATION_UNSET VLC_TICK_INVALID
148#define INPUT_DURATION_INDEFINITE (-1)
173#define MASTER_EXTENSIONS \
174 "asf", "avi", "divx", \
175 "f4v", "flv", "m1v", \
176 "m2v", "m4v", "mkv", \
177 "mov", "mp2", "mp2v", \
178 "mp4", "mp4v", "mpe", \
179 "mpeg", "mpeg1", "mpeg2", \
180 "mpeg4", "mpg", "mpv2", \
181 "mxf", "ogv", "ogx", \
182 "ps", "vro","webm", \
185#define SLAVE_SPU_EXTENSIONS \
186 "aqt", "ass", "cdg", \
187 "dks", "idx", "jss", \
188 "mpl2", "mpsub", "pjs", \
189 "psb", "rt", "sami", "sbv", \
190 "scc", "smi", "srt", \
191 "ssa", "stl", "sub", \
192 "tt", "ttml", "usf", \
195#define SLAVE_AUDIO_EXTENSIONS \
196 "aac", "ac3", "dts", \
197 "dtshd", "eac3", "flac", \
198 "m4a", "mp3", "pcm" \
268 const char *
const *ppsz_options,
284#define input_item_slave_Delete(p_slave) free(p_slave)
310#define INPUT_META( name ) \
312void input_item_Set ## name (input_item_t *p_input, const char *val) \
314 input_item_SetMeta (p_input, vlc_meta_ ## name, val); \
317char *input_item_Get ## name (input_item_t *p_input) \
319 return input_item_GetMeta (p_input, vlc_meta_ ## name); \
350#define input_item_SetTrackNum input_item_SetTrackNumber
351#define input_item_GetTrackNum input_item_GetTrackNumber
352#define input_item_SetArtURL input_item_SetArtworkURL
353#define input_item_GetArtURL input_item_GetArtworkURL
362#define input_item_AddStat(item, type, value) \
363 input_item_AddInfo(item, ".stat", type, "%" PRIu64, (uint64_t) value)
375#define input_item_New( psz_uri, psz_name ) \
376 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_UNKNOWN, ITEM_NET_UNKNOWN )
378#define input_item_NewCard( psz_uri, psz_name ) \
379 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_INDEFINITE, ITEM_TYPE_CARD, ITEM_LOCAL )
381#define input_item_NewDisc( psz_uri, psz_name, i_duration ) \
382 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_DISC, ITEM_LOCAL )
384#define input_item_NewStream( psz_uri, psz_name, i_duration ) \
385 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_STREAM, ITEM_NET )
387#define input_item_NewDirectory( psz_uri, psz_name, i_net ) \
388 input_item_NewExt( psz_uri, psz_name, INPUT_DURATION_UNSET, ITEM_TYPE_DIRECTORY, i_net )
390#define input_item_NewFile( psz_uri, psz_name, i_duration, i_net ) \
391 input_item_NewExt( psz_uri, psz_name, i_duration, ITEM_TYPE_FILE, i_net )
408#define INPUT_RECORD_PREFIX "vlc-record-%Y-%m-%d-%Hh%Mm%Ss-$ N-$ p"
414 const char *psz_path,
const char *psz_prefix,
415 const char *psz_extension )
VLC_USED;
464 size_t count,
void *userdata);
536 size_t count,
void *userdata);
605#define vlc_readdir_helper_init(p_rdh, p_obj, p_node) \
606 vlc_readdir_helper_init(p_rdh, VLC_OBJECT(p_obj), p_node)
636 const char *psz_uri,
const char *psz_flatpath,
637 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
#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
Definition vlc_objects.h:103
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:585
char * psz_ignored_exts
Definition vlc_input_item.h:594
void ** pp_slaves
Definition vlc_input_item.h:587
input_item_node_t * p_node
Definition vlc_input_item.h:586
bool b_flatten
Definition vlc_input_item.h:593
int i_sub_autodetect_fuzzy
Definition vlc_input_item.h:591
bool b_show_hiddenfiles
Definition vlc_input_item.h:592
size_t i_slaves
Definition vlc_input_item.h:588
size_t i_dirs
Definition vlc_input_item.h:590
void ** pp_dirs
Definition vlc_input_item.h:589
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