VLC  3.0.21
input_interface.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * input_interface.h: Input functions usable outside input code.
3  *****************************************************************************
4  * Copyright (C) 1998-2008 VLC authors and VideoLAN
5  * $Id$
6  *
7  * Authors: Laurent Aimar < fenrir _AT_ videolan _DOT_ org >
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #ifndef LIBVLC_INPUT_INTERFACE_H
25 #define LIBVLC_INPUT_INTERFACE_H 1
26 
27 #include <vlc_input.h>
28 #include <libvlc.h>
29 
30 /**********************************************************************
31  * Item metadata
32  **********************************************************************/
33 void input_item_SignalPreparseEnded( input_item_t *p_i, int new_status );
34 void input_item_SetPreparsed( input_item_t *p_i, bool b_preparsed );
35 void input_item_SetArtNotFound( input_item_t *p_i, bool b_not_found );
36 void input_item_SetArtFetched( input_item_t *p_i, bool b_art_fetched );
37 void input_item_SetEpg( input_item_t *p_item, const vlc_epg_t *p_epg, bool );
38 void input_item_ChangeEPGSource( input_item_t *p_item, int i_source_id );
39 void input_item_SetEpgEvent( input_item_t *p_item, const vlc_epg_event_t *p_epg_evt );
40 void input_item_SetEpgTime( input_item_t *, int64_t );
42 
43 /**
44  * Creates an item preparser.
45  *
46  * Creates an input thread to preparse an item. The input needs to be started
47  * with input_Start() afterwards.
48  *
49  * @param obj parent object
50  * @param item input item to preparse
51  * @return an input thread or NULL on error
52  */
54 VLC_USED;
55 
56 /* misc/stats.c
57  * FIXME it should NOT be defined here or not coded in misc/stats.c */
59 
60 /**
61  * This function deletes the current sout in the resources.
62  */
64 
65 /**
66  * This function return true if there is at least one vout in the resources.
67  *
68  * It can only be called on detached resources.
69  */
70 bool input_resource_HasVout( input_resource_t *p_resource );
71 
72 /* input.c */
73 
74 /* */
75 typedef enum
76 {
80 
81  /* Use them only if you do not goes through a access_out module */
84 
86 /**
87  * It will update internal input statistics from external sources.
88  * XXX For now, the only one allowed to do it is stream_out and input core.
89  */
91 
92 #endif
INPUT_CONTROL_NAV_ACTIVATE
Definition: input_internal.h:210
DEMUX_GET_META
Retrieves stream meta-data.
Definition: vlc_demux.h:172
input_thread_private_t::p_renderer
vlc_renderer_item_t * p_renderer
Definition: input_internal.h:114
DEMUX_SET_PAUSE_STATE
Sets the paused or playing/resumed state.
Definition: vlc_demux.h:190
input_resource_Hold
input_resource_t * input_resource_Hold(input_resource_t *p_resource)
This function holds the input_resource_t itself.
Definition: resource.c:445
input_thread_private_t::viewpoint
vlc_viewpoint_t viewpoint
Definition: input_internal.h:112
input_thread_private_t::i_time
int64_t i_time
Definition: input_internal.h:104
count
size_t count
Definition: core.c:461
DEMUX_SET_GROUP
Definition: vlc_demux.h:258
UpdateTitleSeekpoint
static int UpdateTitleSeekpoint(input_thread_t *p_input, int i_title, int i_seekpoint)
Definition: input.c:2471
DEMUX_GET_SIGNAL
Retrieves an estimate of signal quality and strength.
Definition: vlc_demux.h:178
input_thread_private_t::counters
struct input_thread_private_t::@27 counters
input_thread_private_t::wait_control
vlc_cond_t wait_control
Definition: input_internal.h:172
input_source_t::i_title_offset
int i_title_offset
Definition: input_internal.h:53
INPUT_RATE_DEFAULT
#define INPUT_RATE_DEFAULT
Input rate.
Definition: vlc_input.h:306
TAB_CLEAN
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:46
End
static void End(input_thread_t *p_input)
Definition: input.c:1494
input_thread_private_t::lock_control
vlc_mutex_t lock_control
Definition: input_internal.h:171
SLAVE_TYPE_SPU
Definition: vlc_input_item.h:131
VLC_VAR_SETVALUE
#define VLC_VAR_SETVALUE
Set the value of this variable without triggering any callbacks.
Definition: vlc_variables.h:87
atof
double atof(const char *)
input_attachment_t
Definition: vlc_input.h:154
input_item_GetName
char * input_item_GetName(input_item_t *p_item)
Definition: item.c:301
GetVarSlaves
static void GetVarSlaves(input_thread_t *p_input, input_item_slave_t ***ppp_slaves, int *p_slaves)
Definition: input.c:1053
Run
static void * Run(void *)
Definition: input.c:487
input_thread_private_t::master
input_source_t * master
Definition: input_internal.h:139
var_CreateGetInteger
#define var_CreateGetInteger(a, b)
Definition: vlc_variables.h:492
vlc_list_t
VLC list structure.
Definition: vlc_common.h:344
var_SetAddress
#define var_SetAddress(o, n, p)
Definition: vlc_variables.h:260
INPUT_UPDATE_TITLE_LIST
#define INPUT_UPDATE_TITLE_LIST
Definition: vlc_demux.h:109
var_SetBool
#define var_SetBool(a, b, c)
Definition: vlc_variables.h:257
input_item_slave::i_priority
enum slave_priority i_priority
Slave priority.
Definition: vlc_input_item.h:175
input_EsOutNew
es_out_t * input_EsOutNew(input_thread_t *p_input, int i_rate)
Definition: es_out.c:291
INPUT_CONTROL_SET_SEEKPOINT_NEXT
Definition: input_internal.h:205
input_thread_private_t::p_sout
sout_instance_t * p_sout
Definition: input_internal.h:109
input_Control
int input_Control(input_thread_t *p_input, int i_query,...)
Control function for inputs.
Definition: control.c:52
VOUT_SPU_CHANNEL_OSD
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:156
INPUT_CONTROL_SET_RECORD_STATE
Definition: input_internal.h:230
thread
static thread_local struct vlc_thread * thread
Definition: thread.c:162
ES_OUT_MODE_END
Definition: es_out.h:56
strcasecmp
int strcasecmp(const char *, const char *)
UpdateTitleSeekpointFromDemux
static int UpdateTitleSeekpointFromDemux(input_thread_t *)
Definition: input.c:2499
DEMUX_SET_TIME
Definition: vlc_demux.h:241
demux_GetSeekpoint
int demux_GetSeekpoint(demux_t *p_demux)
Definition: demux.c:564
INPUT_CONTROL_ADD_SLAVE
Definition: input_internal.h:228
INPUT_CONTROL_SET_ES
Definition: input_internal.h:218
input_source_t::f_fps
double f_fps
Definition: input_internal.h:67
mdate
vlc_tick_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
INPUT_CONTROL_SET_SEEKPOINT_PREV
Definition: input_internal.h:206
VLC_VAR_GETCHOICES
#define VLC_VAR_GETCHOICES
Definition: vlc_variables.h:99
OPENING_S
Definition: vlc_input.h:283
input_item_slave_New
input_item_slave_t * input_item_slave_New(const char *psz_uri, enum slave_type i_type, enum slave_priority i_priority)
Definition: item.c:668
vlc_meta_Merge
void vlc_meta_Merge(vlc_meta_t *dst, const vlc_meta_t *src)
Merging meta.
Definition: meta.c:177
vlc_epg_event_t
Definition: vlc_epg.h:32
SLAVE_TYPE_AUDIO
Definition: vlc_input_item.h:132
sout_instance_t::i_out_pace_nocontrol
int i_out_pace_nocontrol
count of output that can't control the space
Definition: vlc_sout.h:55
MainLoop
static void MainLoop(input_thread_t *p_input, bool b_interactive)
MainLoop The main input loop.
Definition: input.c:688
demux_Control
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:358
input_title_t::i_seekpoint
int i_seekpoint
Definition: vlc_input.h:98
vlc_common.h
vout_OSDMessage
void vout_OSDMessage(vout_thread_t *vout, int channel, const char *format,...)
Write an informative message at the default location, for the default duration and only if the OSD op...
Definition: video_text.c:141
input_item_ShouldPreparseSubItems
bool input_item_ShouldPreparseSubItems(input_item_t *p_item)
Definition: item.c:458
INPUT_IDLE_SLEEP
#define INPUT_IDLE_SLEEP
Definition: vlc_config.h:57
input_item_SetArtFetched
void input_item_SetArtFetched(input_item_t *p_i, bool b_art_fetched)
Definition: item.c:125
input_Close
void input_Close(input_thread_t *p_input)
Close an input.
Definition: input.c:221
input_item_t::i_preparse_depth
int i_preparse_depth
How many level of sub items can be preparsed: -1: recursive, 0: none, >0: n levels.
Definition: vlc_input_item.h:100
vout_FlushSubpictureChannel
void vout_FlushSubpictureChannel(vout_thread_t *vout, int channel)
Definition: video_output.c:389
VLC_DEMUXER_EGENERIC
#define VLC_DEMUXER_EGENERIC
Definition: vlc_demux.h:102
demux_t::pf_demux
int(* pf_demux)(demux_t *)
Definition: vlc_demux.h:81
DIR_SEP
#define DIR_SEP
Definition: vlc_common.h:1032
input_SendEventMeta
void input_SendEventMeta(input_thread_t *p_input)
Definition: event.c:189
VLC_VAR_DOINHERIT
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
VLC_THREAD_PRIORITY_LOW
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:321
DEMUX_GET_TITLE_INFO
Definition: vlc_demux.h:252
input_source_t::i_seekpoint_start
int i_seekpoint_start
Definition: input_internal.h:58
DEMUX_CAN_RECORD
Definition: vlc_demux.h:279
input_CreatePreparser
input_thread_t * input_CreatePreparser(vlc_object_t *parent, input_item_t *item)
Creates an item preparser.
Definition: input.c:159
vlc_meta_URL
Definition: vlc_meta.h:45
ControlInsertDemuxFilter
static void ControlInsertDemuxFilter(input_thread_t *p_input, const char *psz_demux_chain)
Definition: input.c:1990
input_thread_private_t::p_sout_send_bitrate
counter_t * p_sout_send_bitrate
Definition: input_internal.h:162
var_InheritInteger
#define var_InheritInteger(o, n)
Definition: vlc_variables.h:612
input_item_t
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:58
input_item_t::i_slaves
int i_slaves
running/selected program cur/next EPG table
Definition: vlc_input_item.h:87
stats_Update
void stats_Update(counter_t *p_counter, uint64_t val, uint64_t *new_val)
Update a counter element with new values.
Definition: stats.c:157
demux_FilterDisable
bool demux_FilterDisable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:650
input_Destructor
static void input_Destructor(vlc_object_t *obj)
Input destructor (called when the object's refcount reaches 0).
Definition: input.c:232
MainLoopTryRepeat
static int MainLoopTryRepeat(input_thread_t *p_input)
Definition: input.c:606
input_SendEventCache
void input_SendEventCache(input_thread_t *p_input, double f_level)
Definition: event.c:179
es_out.h
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_common.h:150
input_resource_TerminateSout
void input_resource_TerminateSout(input_resource_t *p_resource)
This function deletes the current sout in the resources.
Definition: resource.c:509
es_out_GetWakeup
static vlc_tick_t es_out_GetWakeup(es_out_t *p_out)
Definition: es_out.h:97
input_thread_private_t::b_can_rate_control
bool b_can_rate_control
Definition: input_internal.h:90
es_out_SetTime
static int es_out_SetTime(es_out_t *p_out, vlc_tick_t i_date)
Definition: es_out.h:138
input_item_t::lock
vlc_mutex_t lock
Lock for the item.
Definition: vlc_input_item.h:93
OBJECT_FLAGS_NOINTERACT
#define OBJECT_FLAGS_NOINTERACT
Definition: vlc_objects.h:33
ControlPop
static int ControlPop(input_thread_t *, int *, vlc_value_t *, vlc_tick_t i_deadline, bool b_postpone_seek)
Definition: input.c:1657
input_thread_private_t::interrupt
vlc_interrupt_t interrupt
Definition: input_internal.h:177
demux_NewAdvanced
#define demux_NewAdvanced(a, b, c, d, e, f, g, h)
Definition: demux.h:36
AppendAttachment
static void AppendAttachment(int *pi_attachment, input_attachment_t ***ppp_attachment, const demux_t ***ppp_attachment_demux, int i_new, input_attachment_t **pp_new, const demux_t *p_demux)
Definition: input.c:3056
resource.h
demux_FilterChainNew
demux_t * demux_FilterChainNew(demux_t *p_demux, const char *psz_chain)
Builds an explicit chain of demux filters.
Definition: demux.c:601
vlc_value_t::p_address
void * p_address
Definition: vlc_common.h:335
var_InheritBool
#define var_InheritBool(o, n)
Definition: vlc_variables.h:601
vlc_renderer_item_release
void vlc_renderer_item_release(vlc_renderer_item_t *p_item)
Releases a renderer item, i.e.
Definition: renderer_discovery.c:166
ControlUnpause
static void ControlUnpause(input_thread_t *p_input, vlc_tick_t i_control_date)
Definition: input.c:1784
vlc_charset.h
input_SlaveSourceAdd
static int input_SlaveSourceAdd(input_thread_t *, enum slave_type, const char *, unsigned)
Definition: input.c:3372
SetSubtitlesOptions
static void SetSubtitlesOptions(input_thread_t *p_input)
Definition: input.c:1006
StartTitle
static void StartTitle(input_thread_t *p_input)
Definition: input.c:923
seekpoint_t::psz_name
char * psz_name
Definition: vlc_input.h:52
input_SendEventSignal
void input_SendEventSignal(input_thread_t *p_input, double f_quality, double f_strength)
Definition: event.c:156
input_source_t::i_pts_delay
int64_t i_pts_delay
Definition: input_internal.h:70
input_thread_private_t::b_recording
bool b_recording
Definition: input_internal.h:97
input_thread_private_t::b_can_pace_control
bool b_can_pace_control
Definition: input_internal.h:91
INPUT_CONTROL_NAV_UP
Definition: input_internal.h:211
seekpoint_t
Definition: vlc_input.h:48
INPUT_CONTROL_SET_PROGRAM
Definition: input_internal.h:198
DEMUX_SET_TITLE
Seeks to the beginning of a title.
Definition: vlc_demux.h:198
get_path
char * get_path(const char *location)
Definition: access.c:42
stream_FilterChainNew
stream_t * stream_FilterChainNew(stream_t *source, const char *list)
Builds an explicit chain of stream filters.
Definition: stream_filter.c:86
vlc_UrlClean
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:594
INPUT_CONTROL_SET_BOOKMARK
Definition: input_internal.h:208
INPUT_STATISTIC_SENT_PACKET
Definition: input_interface.h:80
libvlc_stats
#define libvlc_stats(o)
Definition: libvlc.h:207
vlc_UrlParse
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:554
DEMUX_SET_ES
Definition: vlc_demux.h:259
INPUT_CONTROL_NAV_MENU
Definition: input_internal.h:216
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
ES_OUT_SET_ES_BY_ID
Definition: es_out.h:47
demux_t
Definition: vlc_demux.h:43
INPUT_RATE_MIN
#define INPUT_RATE_MIN
Minimal rate value.
Definition: vlc_input.h:310
input_thread_private_t::i_control
int i_control
Definition: input_internal.h:173
_
#define _(str)
Definition: vlc_fixups.h:371
input_thread_private_t::slave
input_source_t ** slave
Definition: input_internal.h:142
ViewpointApply
static void ViewpointApply(input_thread_t *p_input)
Definition: input.c:1814
InputSourceDestroy
static void InputSourceDestroy(input_source_t *)
Definition: input.c:2874
input_thread_private_t::pp_bookmark
seekpoint_t ** pp_bookmark
Definition: input_internal.h:126
input_stats_t
Definition: vlc_input_item.h:389
input_thread_private_t::counters_lock
vlc_mutex_t counters_lock
Definition: input_internal.h:167
input_source_t::i_title_start
int i_title_start
Definition: input_internal.h:56
vlc_viewpoint_t
Viewpoints.
Definition: vlc_viewpoint.h:44
InitPrograms
static void InitPrograms(input_thread_t *p_input)
Definition: input.c:1283
InitTitle
static void InitTitle(input_thread_t *p_input)
Definition: input.c:895
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:354
DEMUX_SET_SEEKPOINT
Seeks to the beginning of a chapter of the current title.
Definition: vlc_demux.h:206
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
vlc_clone
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:263
vlc_stat
int vlc_stat(const char *filename, struct stat *buf)
Finds file/inode information - like stat().
Definition: filesystem.c:170
ES_OUT_SET_GROUP
Definition: vlc_es_out.h:55
vlc_dialog_display_error
#define vlc_dialog_display_error(a, b, c,...)
Definition: vlc_dialog.h:72
VLC_VAR_STRING
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
MainLoopStatistics
static void MainLoopStatistics(input_thread_t *p_input)
Update timing infos and statistics.
Definition: input.c:653
vlc_renderer_item_hold
vlc_renderer_item_t * vlc_renderer_item_hold(vlc_renderer_item_t *p_item)
Hold a renderer item, i.e.
Definition: renderer_discovery.c:157
input_thread_private_t::thread
vlc_thread_t thread
Definition: input_internal.h:176
vlc_input.h
es_out_ControlSetMeta
static int es_out_ControlSetMeta(es_out_t *out, const vlc_meta_t *p_meta)
Definition: vlc_es_out.h:165
input_SendEventTitle
void input_SendEventTitle(input_thread_t *p_input, int i_title)
Definition: event.c:127
INIT_COUNTER
#define INIT_COUNTER(c, compute)
input_Create
input_thread_t * input_Create(vlc_object_t *p_parent, input_item_t *p_item, const char *psz_log, input_resource_t *p_resource, vlc_renderer_item_t *p_renderer)
Create a new input_thread_t.
Definition: input.c:127
es_out_SetJitter
static void es_out_SetJitter(es_out_t *p_out, vlc_tick_t i_pts_delay, vlc_tick_t i_pts_jitter, int i_cr_average)
Definition: es_out.h:151
input_attachment_t::psz_mime
char * psz_mime
Definition: vlc_input.h:158
VLC_VAR_FLOAT
#define VLC_VAR_FLOAT
Definition: vlc_variables.h:52
input_item_SetPreparsed
void input_item_SetPreparsed(input_item_t *p_i, bool b_preparsed)
Definition: item.c:75
OBJECT_FLAGS_QUIET
#define OBJECT_FLAGS_QUIET
Definition: vlc_objects.h:32
input_source_t::b_title_demux
bool b_title_demux
Definition: input_internal.h:49
input_SendEventPosition
void input_SendEventPosition(input_thread_t *p_input, double f_position, vlc_tick_t i_time)
Definition: event.c:54
MSTRTIME_MAX_SIZE
#define MSTRTIME_MAX_SIZE
Definition: vlc_mtime.h:50
input_source_t::b_eof
bool b_eof
Definition: input_internal.h:72
InputDemuxNew
static demux_t * InputDemuxNew(input_thread_t *p_input, input_source_t *p_source, const char *psz_access, const char *psz_demux, const char *psz_path, const char *psz_anchor)
Definition: input.c:2586
vlc_cond_signal
void vlc_cond_signal(vlc_cond_t *p_condvar)
Wakes up one thread waiting on a condition variable.
Definition: thread.c:256
input_GetItem
input_item_t * input_GetItem(input_thread_t *p_input)
Get the item from an input thread FIXME it does not increase ref count of the item.
Definition: input.c:272
input_thread_private_t::i_slave
int i_slave
Definition: input_internal.h:141
input_resource_SetInput
void input_resource_SetInput(input_resource_t *p_resource, input_thread_t *p_input)
This function set the associated input.
Definition: resource.c:451
input_source_t::b_can_pause
bool b_can_pause
Definition: input_internal.h:62
input_control_t::val
vlc_value_t val
Definition: input_internal.h:79
input_source_t::i_title
int i_title
Definition: input_internal.h:50
var_InheritString
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
InitStatistics
static void InitStatistics(input_thread_t *p_input)
Definition: input.c:812
INPUT_CONTROL_NAV_RIGHT
Definition: input_internal.h:214
input_thread_private_t::i_stop
int64_t i_stop
Definition: input_internal.h:103
asprintf
int asprintf(char **, const char *,...)
INPUT_CONTROL_SET_TITLE
Definition: input_internal.h:200
vlc_value_t::i_int
int64_t i_int
Definition: vlc_common.h:331
input_item_SetNowPlaying
static void input_item_SetNowPlaying(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:298
var_Create
#define var_Create(a, b, c)
Definition: vlc_variables.h:121
ControlPause
static void ControlPause(input_thread_t *, vlc_tick_t)
Definition: input.c:1757
es_out_SetMode
static void es_out_SetMode(es_out_t *p_out, int i_mode)
Definition: es_out.h:92
input_SendEventAudioDelay
void input_SendEventAudioDelay(input_thread_t *p_input, vlc_tick_t i_delay)
Definition: event.c:96
INPUT_CONTROL_SET_VIEWPOINT
Definition: input_internal.h:221
DEMUX_SET_RATE
Definition: vlc_demux.h:299
INPUT_PTS_DELAY_MAX
#define INPUT_PTS_DELAY_MAX
Definition: input_internal.h:246
vlc_cond_timedwait
int vlc_cond_timedwait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex, vlc_tick_t deadline)
Waits on a condition variable up to a certain date.
Definition: thread.c:273
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.
Definition: item.c:686
demux_TestAndClearFlags
unsigned demux_TestAndClearFlags(demux_t *p_demux, unsigned flags)
Definition: demux.c:544
INPUT_CONTROL_SET_RATE
Definition: input_internal.h:192
UpdateGenericFromDemux
static void UpdateGenericFromDemux(input_thread_t *)
Definition: input.c:2516
UpdateTitleListfromDemux
static void UpdateTitleListfromDemux(input_thread_t *)
Definition: input.c:2532
SlaveExists
static bool SlaveExists(input_item_slave_t **pp_slaves, int i_slaves, const char *psz_uri)
Definition: input.c:994
DEMUX_HAS_UNSUPPORTED_META
Definition: vlc_demux.h:271
ControlRelease
static void ControlRelease(int i_type, vlc_value_t val)
Definition: input.c:1733
ES_OUT_SET_ES_DEFAULT_BY_ID
Definition: es_out.h:49
SLAVE_ADD_FORCED
#define SLAVE_ADD_FORCED
Definition: input.c:105
vlc_meta_t
Definition: meta.c:41
vlc_renderer_discovery.h
vlc_input_title_Delete
static void vlc_input_title_Delete(input_title_t *t)
Definition: vlc_input.h:117
DEMUX_GET_TIME
Definition: vlc_demux.h:240
INPUT_CONTROL_UPDATE_VIEWPOINT
Definition: input_internal.h:223
DeduceSlaveType
static enum slave_type DeduceSlaveType(input_thread_t *p_input, const char *psz_uri)
Definition: input.c:1029
SLAVE_PRIORITY_USER
Definition: vlc_input_item.h:141
vlc_meta_Title
Definition: vlc_meta.h:35
input_ChangeState
static void input_ChangeState(input_thread_t *p_input, int i_state)
Definition: input.c:3242
var_GetFloat
#define var_GetFloat(a, b)
Definition: vlc_variables.h:657
input_item_SetArtNotFound
void input_item_SetArtNotFound(input_item_t *p_i, bool b_not_found)
Definition: item.c:106
es_out_SetDelay
static void es_out_SetDelay(es_out_t *p_out, int i_cat, vlc_tick_t i_delay)
Definition: es_out.h:121
vlc_common_members::parent
vlc_object_t * parent
Parent object.
Definition: vlc_common.h:452
CLOCK_FREQ
#define CLOCK_FREQ
Definition: vlc_config.h:45
input_item_ApplyOptions
void input_item_ApplyOptions(vlc_object_t *obj, input_item_t *item)
Definition: item.c:601
InputGetExtraFiles
static void InputGetExtraFiles(input_thread_t *p_input, int *pi_list, char ***pppsz_list, const char **psz_access, const char *psz_path)
Definition: input.c:3193
input_Read
int input_Read(vlc_object_t *p_parent, input_item_t *p_item)
Initialize an input thread and run it until it stops by itself.
Definition: input.c:143
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
vlc_renderer_item_sout
const char * vlc_renderer_item_sout(const vlc_renderer_item_t *p_item)
Get the sout command of a renderer item.
Definition: renderer_discovery.c:125
input_UpdateStatistic
void input_UpdateStatistic(input_thread_t *, input_statistic_t, int i_delta)
It will update internal input statistics from external sources.
Definition: input.c:3504
audio_output
Audio output object.
Definition: vlc_aout.h:114
vlc_value_t::b_bool
bool b_bool
Definition: vlc_common.h:332
input_item_SetEpgTime
void input_item_SetEpgTime(input_item_t *, int64_t)
Definition: item.c:1015
demux_meta_t::p_item
input_item_t * p_item
Definition: vlc_demux.h:115
InputGetExtraFilesPattern
static void InputGetExtraFilesPattern(input_thread_t *p_input, int *pi_list, char ***pppsz_list, const char *psz_path, const char *psz_match, const char *psz_format, int i_start, int i_stop)
Definition: input.c:3140
stream_extractor_AttachParsed
int stream_extractor_AttachParsed(stream_t **stream, const char *psz_data, char const **out_extra)
Attach Stream Extractors according to specified data.
Definition: stream_extractor.c:346
es_out_SetPauseState
static int es_out_SetPauseState(es_out_t *p_out, bool b_source_paused, bool b_paused, vlc_tick_t i_date)
Definition: es_out.h:130
input_thread_private_t::is_stopped
bool is_stopped
Definition: input_internal.h:96
DEMUX_CAN_PAUSE
Checks whether (long) pause then stream resumption is supported.
Definition: vlc_demux.h:153
vlc_object_release
#define vlc_object_release(a)
Definition: vlc_objects.h:63
es_out_Delete
static void es_out_Delete(es_out_t *p_out)
Definition: vlc_es_out.h:155
filename_sanitize
void filename_sanitize(char *str)
Sanitize a file name.
Definition: strings.c:875
MRLSections
static void MRLSections(const char *, int *, int *, int *, int *)
Definition: input.c:3342
DEFAULT_PTS_DELAY
#define DEFAULT_PTS_DELAY
Definition: vlc_config.h:65
input_SendEventSeekpoint
void input_SendEventSeekpoint(input_thread_t *p_input, int i_title, int i_seekpoint)
Definition: event.c:139
input_ControlVarStop
void input_ControlVarStop(input_thread_t *)
Definition: var.c:222
es_out_GetGroupForced
static int es_out_GetGroupForced(es_out_t *p_out)
Definition: es_out.h:163
slave_type
slave_type
Definition: vlc_input_item.h:129
vlc_interrupt_kill
void vlc_interrupt_kill(vlc_interrupt_t *ctx)
Marks the interruption context as "killed".
Definition: interrupt.c:178
InputMetaUser
static void InputMetaUser(input_thread_t *p_input, vlc_meta_t *p_meta)
Definition: input.c:3030
DEMUX_SET_NEXT_DEMUX_TIME
Definition: vlc_demux.h:266
vlc_meta_Artist
Definition: vlc_meta.h:36
es_out_Control
static int es_out_Control(es_out_t *out, int i_query,...)
Definition: vlc_es_out.h:144
input_SubtitleFile2Uri
static char * input_SubtitleFile2Uri(input_thread_t *, const char *)
Definition: input.c:3471
es_out_Eos
static void es_out_Eos(es_out_t *p_out)
Definition: es_out.h:170
i_type
int i_type
Definition: httpd.c:1252
INPUT_CONTROL_SET_RENDERER
Definition: input_internal.h:234
input_SendEventDead
void input_SendEventDead(input_thread_t *p_input)
Definition: event.c:49
input_CreateFilename
char * input_CreateFilename(input_thread_t *input, const char *dir, const char *filenamefmt, const char *ext)
This function creates a sane filename path.
Definition: input.c:3543
module_t
Internal module descriptor.
Definition: modules.h:79
DEMUX_GET_LENGTH
Definition: vlc_demux.h:239
ERROR_S
Definition: vlc_input.h:287
input_thread_private_t::p_resource_private
input_resource_t * p_resource_private
Definition: input_internal.h:146
input_item_SignalPreparseEnded
void input_item_SignalPreparseEnded(input_item_t *p_i, int new_status)
Definition: item.c:68
CL_CO
#define CL_CO(c)
vlc_value_t::f_float
float f_float
Definition: vlc_common.h:333
input_item_slave::b_forced
bool b_forced
Slave should be selected.
Definition: vlc_input_item.h:176
demux_FilterEnable
bool demux_FilterEnable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:645
es_out_SetRate
static int es_out_SetRate(es_out_t *p_out, int i_source_rate, int i_rate)
Definition: es_out.h:134
INPUT_ADD_BOOKMARK
Definition: vlc_input.h:441
input_thread_private_t::b_can_pause
bool b_can_pause
Definition: input_internal.h:89
input_ConfigVarInit
void input_ConfigVarInit(input_thread_t *)
Definition: var.c:411
input_resource_Release
void input_resource_Release(input_resource_t *p_resource)
It releases an input resource.
Definition: resource.c:430
DEMUX_IS_PLAYLIST
Checks whether the stream is actually a playlist, rather than a real stream.
Definition: vlc_demux.h:309
input_thread_private_t::i_bookmark
int i_bookmark
Definition: input_internal.h:125
input_thread_private_t::attachment_demux
const demux_t ** attachment_demux
Definition: input_internal.h:131
vlc_strings.h
input_item_SetEpgEvent
void input_item_SetEpgEvent(input_item_t *p_item, const vlc_epg_event_t *p_epg_evt)
Definition: item.c:866
input_thread_private_t::p_item
input_item_t * p_item
Definition: input_internal.h:136
ES_OUT_MODE_ALL
Definition: es_out.h:53
vlc_viewpoint_t::yaw
float yaw
Definition: vlc_viewpoint.h:45
vlc_meta_Date
Definition: vlc_meta.h:43
input_item_t::b_preparse_interact
bool b_preparse_interact
Force interaction with the user when preparsing.
Definition: vlc_input_item.h:103
input_thread_private_t
Private input fields.
Definition: input_internal.h:83
var_Destroy
#define var_Destroy(a, b)
Definition: vlc_variables.h:124
var_SetFloat
#define var_SetFloat(a, b, c)
Definition: vlc_variables.h:258
VLC_CLIP
#define VLC_CLIP(v, min, max)
Definition: vlc_common.h:489
input_resource_TerminateVout
void input_resource_TerminateVout(input_resource_t *p_resource)
Forcefully destroys the video output (e.g.
Definition: resource.c:486
VLC_VAR_CHOICESCOUNT
#define VLC_VAR_CHOICESCOUNT
Definition: vlc_variables.h:101
INPUT_UPDATE_META
#define INPUT_UPDATE_META
Definition: vlc_demux.h:108
vlc_meta_Delete
void vlc_meta_Delete(vlc_meta_t *m)
Definition: meta.c:110
vlc_viewpoint_t::roll
float roll
Definition: vlc_viewpoint.h:47
vlc_object_set_destructor
#define vlc_object_set_destructor(a, b)
Definition: libvlc.h:120
InputSourceNew
static input_source_t * InputSourceNew(input_thread_t *, const char *, const char *psz_forced_demux, bool b_in_can_fail)
Definition: input.c:2655
vlc_stream_extractor.h
DEMUX_SET_POSITION
Definition: vlc_demux.h:236
input_item_t::pp_slaves
input_item_slave_t ** pp_slaves
Slave entries that will be loaded by the input_thread.
Definition: vlc_input_item.h:88
vlc_interrupt_set
vlc_interrupt_t * vlc_interrupt_set(vlc_interrupt_t *newctx)
Sets the interruption context for the calling thread.
Definition: interrupt.c:99
input_Stopped
bool input_Stopped(input_thread_t *input)
Definition: input.c:538
INPUT_UPDATE_TITLE
#define INPUT_UPDATE_TITLE
Definition: vlc_demux.h:106
stream.h
vlc_input_attachment_New
static input_attachment_t * vlc_input_attachment_New(const char *psz_name, const char *psz_mime, const char *psz_description, const void *p_data, size_t i_data)
Definition: vlc_input.h:176
TAB_APPEND
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:64
input_source_t::i_seekpoint_offset
int i_seekpoint_offset
Definition: input_internal.h:54
PAUSE_S
Definition: vlc_input.h:285
INPUT_CONTROL_SET_TIME
Definition: input_internal.h:196
input_control_t
Definition: input_internal.h:76
input_thread_private_t::input
struct input_thread_t input
Definition: input_internal.h:85
Init
static int Init(input_thread_t *p_input)
Definition: input.c:1341
INPUT_CONTROL_SET_FRAME_NEXT
Definition: input_internal.h:232
input_item_GetDuration
vlc_tick_t input_item_GetDuration(input_item_t *p_i)
Definition: item.c:398
var_Type
#define var_Type(a, b)
Definition: vlc_variables.h:130
demux_Demux
static int demux_Demux(demux_t *p_demux)
Definition: vlc_demux.h:348
input_source_t::i_title_end
int i_title_end
Definition: input_internal.h:57
psz_name
const char * psz_name
Definition: vlc_codecs.h:315
vlc_meta_New
vlc_meta_t * vlc_meta_New(void)
vlc_meta contructor.
Definition: meta.c:92
DEMUX_NAV_ACTIVATE
Activate the navigation item selected.
Definition: vlc_demux.h:313
input_thread_private_t::b_out_pace_control
bool b_out_pace_control
Definition: input_internal.h:108
input_source_t
Definition: input_internal.h:42
vlc_set_priority
int vlc_set_priority(vlc_thread_t th, int priority)
Definition: thread.c:291
subtitles_Detect
int subtitles_Detect(input_thread_t *, char *, const char *, input_item_slave_t ***, int *)
Detect subtitle files.
Definition: subtitles.c:213
strtok_r
char * strtok_r(char *, const char *, char **)
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
SlaveDemux
static void SlaveDemux(input_thread_t *p_input)
Definition: input.c:2944
vlc_interrupt_deinit
void vlc_interrupt_deinit(vlc_interrupt_t *ctx)
Deinitializes an interruption context.
Definition: interrupt.c:71
DEMUX_CAN_SEEK
Checks whether the stream supports seeking.
Definition: vlc_demux.h:145
es_out_GetBuffering
static bool es_out_GetBuffering(es_out_t *p_out)
Definition: es_out.h:105
INPUT_STATISTIC_DECODED_SUBTITLE
Definition: input_interface.h:77
stream_t
stream_t definition
Definition: vlc_stream.h:46
vlc_renderer_item_demux_filter
const char * vlc_renderer_item_demux_filter(const vlc_renderer_item_t *p_item)
Get the demux filter to use with a renderer item.
Definition: renderer_discovery.c:141
var_GetInteger
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
MRLSeekPoint
static const char * MRLSeekPoint(const char *str, int *title, int *chapter)
Definition: input.c:3312
input_thread_private_t::control
input_control_t control[100]
Definition: input_internal.h:174
input_SendEventState
void input_SendEventState(input_thread_t *p_input, int i_state)
Definition: event.c:169
INPUT_CONTROL_NAV_POPUP
Definition: input_internal.h:215
var_SetInteger
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
vlc_meta_Genre
Definition: vlc_meta.h:37
input_source_t::i_seekpoint_end
int i_seekpoint_end
Definition: input_internal.h:59
input_SendEventRate
void input_SendEventRate(input_thread_t *p_input, int i_rate)
Definition: event.c:87
input_item_Release
void input_item_Release(input_item_t *p_item)
Releases an input item, i.e.
Definition: item.c:477
input_resource_Terminate
void input_resource_Terminate(input_resource_t *p_resource)
This function releases all resources (object).
Definition: resource.c:514
SlaveCompare
static int SlaveCompare(const void *a, const void *b)
Definition: input.c:974
static_assert
#define static_assert
Definition: vlc_fixups.h:367
input_item_SetEpg
void input_item_SetEpg(input_item_t *p_item, const vlc_epg_t *p_epg, bool)
Definition: item.c:918
ControlNavDisplayVolume
static void ControlNavDisplayVolume(vout_thread_t *p_vout, float vol)
Definition: input.c:1849
Preparse
static void * Preparse(void *)
Definition: input.c:513
INPUT_CONTROL_SET_SEEKPOINT
Definition: input_internal.h:204
AUDIO_ES
Definition: vlc_es.h:567
es_out_SetTimes
static void es_out_SetTimes(es_out_t *p_out, double f_position, vlc_tick_t i_time, vlc_tick_t i_length)
Definition: es_out.h:146
VLC_DEMUXER_EOF
#define VLC_DEMUXER_EOF
Definition: vlc_demux.h:101
SLAVE_ADD_SET_TIME
#define SLAVE_ADD_SET_TIME
Definition: input.c:107
EXIT_COUNTER
#define EXIT_COUNTER(c)
ControlIsSeekRequest
static bool ControlIsSeekRequest(int i_type)
Definition: input.c:1707
vlc_fs.h
demux_GetTitle
int demux_GetTitle(demux_t *p_demux)
Definition: demux.c:556
vlc_input_attachment_Delete
static void vlc_input_attachment_Delete(input_attachment_t *a)
Definition: vlc_input.h:164
es_out_timeshift.h
input_EsOutTimeshiftNew
es_out_t * input_EsOutTimeshiftNew(input_thread_t *p_input, es_out_t *p_next_out, int i_rate)
Definition: es_out_timeshift.c:300
vlc_sout.h
input_thread_private_t::i_rate
int i_rate
Definition: input_internal.h:99
stats_ComputeInputStats
void stats_ComputeInputStats(input_thread_t *input, input_stats_t *st)
Definition: stats.c:80
MainLoopDemux
static void MainLoopDemux(input_thread_t *p_input, bool *pb_changed)
MainLoopDemux It asks the demuxer to demux some data.
Definition: input.c:556
vlc_url.h
es_out_SetFrameNext
static int es_out_SetFrameNext(es_out_t *p_out)
Definition: es_out.h:142
demux_meta_t::attachments
input_attachment_t ** attachments
array of attachments
Definition: vlc_demux.h:120
INPUT_STATISTIC_SENT_BYTE
Definition: input_interface.h:81
vlc_epg_t
Definition: vlc_epg.h:51
likely
#define likely(p)
Definition: vlc_common.h:113
vlc_url_t
Definition: vlc_url.h:145
INPUT_STATISTIC_DECODED_VIDEO
Definition: input_interface.h:75
vlc_object_t
The main vlc_object_t structure.
Definition: vlc_objects.h:39
EnsureUTF8
static char * EnsureUTF8(char *str)
Removes non-UTF-8 sequences.
Definition: vlc_charset.h:94
input_thread_private_t::viewpoint_changed
bool viewpoint_changed
Definition: input_internal.h:113
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:355
var_InheritAddress
#define var_InheritAddress(o, n)
Definition: vlc_variables.h:650
var_GetNonEmptyString
#define var_GetNonEmptyString(a, b)
Definition: vlc_variables.h:659
VLC_THREAD_PRIORITY_INPUT
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:322
DEMUX_GET_FPS
Definition: vlc_demux.h:268
SLAVE_ADD_NOFLAG
#define SLAVE_ADD_NOFLAG
Definition: input.c:104
vlc_stream.h
DEMUX_GET_PTS_DELAY
Retrieves the PTS delay (roughly the default buffer duration).
Definition: vlc_demux.h:166
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:353
str_format
static char * str_format(input_thread_t *input, const char *fmt)
Definition: vlc_strings.h:143
es_out_SetRecordState
static int es_out_SetRecordState(es_out_t *p_out, bool b_record)
Definition: es_out.h:126
input_SplitMRL
void input_SplitMRL(const char **access, const char **demux, const char **path, const char **anchor, char *buf)
Definition: input.c:3259
ES_OUT_RESET_PCR
Definition: vlc_es_out.h:65
vlc_meta_Copyright
Definition: vlc_meta.h:38
input_ControlVarInit
void input_ControlVarInit(input_thread_t *)
Definition: var.c:125
input_thread_private_t::bookmark
seekpoint_t bookmark
Definition: input_internal.h:124
input_thread_private_t::i_start
int64_t i_start
Definition: input_internal.h:102
FREENULL
#define FREENULL(a)
Definition: vlc_common.h:770
strdup
char * strdup(const char *)
SlaveSeek
static void SlaveSeek(input_thread_t *p_input)
Definition: input.c:3000
INPUT_CONTROL_NAV_DOWN
Definition: input_internal.h:212
INPUT_CONTROL_SET_STATE
Definition: input_internal.h:190
input_thread_private_t::is_running
bool is_running
Definition: input_internal.h:95
VLC_USED
#define VLC_USED
Definition: fourcc_gen.c:31
input_thread_private_t::i_attachment
int i_attachment
Definition: input_internal.h:129
ES_OUT_STOP_ALL_ES
Definition: es_out.h:54
stream_AccessNew
stream_t * stream_AccessNew(vlc_object_t *parent, input_thread_t *input, bool preparsing, const char *url)
This function creates a raw stream_t from an URL.
Definition: access.c:270
var_InheritFloat
#define var_InheritFloat(o, n)
Definition: vlc_variables.h:623
input_thread_private_t::i_state
int i_state
Definition: input_internal.h:94
input_item_SetEpgOffline
void input_item_SetEpgOffline(input_item_t *)
Definition: item.c:1022
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
input_CreatePreparser
input_thread_t * input_CreatePreparser(vlc_object_t *obj, input_item_t *item)
Creates an item preparser.
Definition: input.c:159
INIT_S
Definition: vlc_input.h:282
LoadSlaves
static void LoadSlaves(input_thread_t *p_input)
Definition: input.c:1097
input_priv
static input_thread_private_t * input_priv(input_thread_t *input)
Definition: input_internal.h:180
vlc_viewpoint_clip
static void vlc_viewpoint_clip(vlc_viewpoint_t *p_vp)
Definition: vlc_viewpoint.h:57
input_thread_private_t::p_resource
input_resource_t * p_resource
Definition: input_internal.h:145
list
module_config_t ** list
Definition: core.c:460
input_UpdateStatistic
void input_UpdateStatistic(input_thread_t *p_input, input_statistic_t i_type, int i_delta)
It will update internal input statistics from external sources.
Definition: input.c:3504
demux.h
I
#define I(c)
input_resource_RequestSout
sout_instance_t * input_resource_RequestSout(input_resource_t *p_resource, sout_instance_t *p_sout, const char *psz_sout)
This function handles sout request.
Definition: resource.c:501
input_item_slave::i_type
enum slave_type i_type
Slave type (spu, audio)
Definition: vlc_input_item.h:174
vlc_cond_destroy
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
vlc_renderer_item_t
Definition: renderer_discovery.c:33
Create
static input_thread_t * Create(vlc_object_t *, input_item_t *, const char *, bool, input_resource_t *, vlc_renderer_item_t *)
Definition: input.c:283
vlc_cond_init
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
DEMUX_CAN_CONTROL_PACE
Whether the stream can be read at an arbitrary pace.
Definition: vlc_demux.h:159
TAB_INIT
#define TAB_INIT(count, tab)
Definition: vlc_arrays.h:40
input_control_t::i_type
int i_type
Definition: input_internal.h:78
vlc_cond_wait
void vlc_cond_wait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex)
Waits on a condition variable.
Definition: thread.c:267
input_item_slave
Definition: vlc_input_item.h:172
input_thread_private_t::i_title
int i_title
Definition: input_internal.h:117
ES_OUT_MODE_PARTIAL
Definition: es_out.h:55
INPUT_CONTROL_NAV_LEFT
Definition: input_internal.h:213
input_thread_private_t::p_es_out
es_out_t * p_es_out
Definition: input_internal.h:110
input_resource_HoldAout
audio_output_t * input_resource_HoldAout(input_resource_t *p_resource)
Definition: resource.c:387
ControlGetReducedIndexLocked
static int ControlGetReducedIndexLocked(input_thread_t *p_input)
Definition: input.c:1622
input_resource_New
input_resource_t * input_resource_New(vlc_object_t *p_parent)
It creates an empty input resource handler.
Definition: resource.c:417
SPU_ES
Definition: vlc_es.h:568
input_thread_private_t::b_next_frame
bool b_next_frame
Definition: input_internal.h:98
vlc_path2uri
char * vlc_path2uri(const char *path, const char *scheme)
Converts local path to URL.
Definition: url.c:138
DEMUX_GET_POSITION
Definition: vlc_demux.h:235
vlc_mutex_destroy
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
var_CreateGetFloat
#define var_CreateGetFloat(a, b)
Definition: vlc_variables.h:494
INPUT_CONTROL_SET_INITIAL_VIEWPOINT
Definition: input_internal.h:222
input_thread_private_t::i_seekpoint_offset
int i_seekpoint_offset
Definition: input_internal.h:121
input_thread_t::obj
struct vlc_common_members obj
Definition: vlc_input.h:223
var_SetString
#define var_SetString(a, b, c)
Definition: vlc_variables.h:259
Control
static bool Control(input_thread_t *, int, vlc_value_t)
Definition: input.c:2000
SLAVE_ADD_CANFAIL
#define SLAVE_ADD_CANFAIL
Definition: input.c:106
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
input_SendEventRecord
void input_SendEventRecord(input_thread_t *p_input, bool b_recording)
Definition: event.c:117
DEMUX_SET_RECORD_STATE
Definition: vlc_demux.h:289
input_statistic_t
input_statistic_t
Definition: input_interface.h:73
unlikely
#define unlikely(p)
Definition: vlc_common.h:114
input_attachment_t::psz_name
char * psz_name
Definition: vlc_input.h:157
input_SendEventLength
void input_SendEventLength(input_thread_t *p_input, vlc_tick_t i_length)
Definition: event.c:68
input_SendEventSubtitleDelay
void input_SendEventSubtitleDelay(input_thread_t *p_input, vlc_tick_t i_delay)
Definition: event.c:106
input_source_t::b_can_stream_record
bool b_can_stream_record
Definition: input_internal.h:65
input_resource_HoldVouts
void input_resource_HoldVouts(input_resource_t *p_resource, vout_thread_t ***ppp_vout, size_t *pi_vout)
This function returns all current vouts if any.
Definition: resource.c:480
InputSourceMeta
static void InputSourceMeta(input_thread_t *, input_source_t *, vlc_meta_t *)
Definition: input.c:2893
demux_meta_t::i_attachments
int i_attachments
number of attachments
Definition: vlc_demux.h:119
input_thread_private_t::b_fast_seek
bool b_fast_seek
Definition: input_internal.h:105
input_item_SetESNowPlaying
static void input_item_SetESNowPlaying(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:299
INPUT_CONTROL_SET_AUDIO_DELAY
Definition: input_internal.h:225
UpdatePtsDelay
static void UpdatePtsDelay(input_thread_t *p_input)
Definition: input.c:1255
vlc_meta_Set
void vlc_meta_Set(vlc_meta_t *p_meta, vlc_meta_type_t meta_type, const char *psz_val)
vlc_meta has two kinds of meta, the one in a table, and the one in a dictionary.
Definition: meta.c:124
ES_OUT_MODE_AUTO
Definition: es_out.h:54
libvlc.h
INPUT_CONTROL_SET_SPU_DELAY
Definition: input_internal.h:226
input_attachment_t::psz_description
char * psz_description
Definition: vlc_input.h:159
END_S
Definition: vlc_input.h:286
vlc_assert_unreachable
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
vlc_common_members::header
char * header
Log messages header.
Definition: vlc_common.h:430
seekpoint_t::i_time_offset
int64_t i_time_offset
Definition: vlc_input.h:51
demux_meta_t
Definition: vlc_demux.h:112
input_SendEventStatistics
void input_SendEventStatistics(input_thread_t *p_input)
Definition: event.c:83
INPUT_CONTROL_RESTART_ES
Definition: input_internal.h:219
INPUT_UPDATE_SEEKPOINT
#define INPUT_UPDATE_SEEKPOINT
Definition: vlc_demux.h:107
stats_NewInputStats
input_stats_t * stats_NewInputStats(input_thread_t *p_input)
Definition: stats.c:67
input_item_SetErrorWhenReading
void input_item_SetErrorWhenReading(input_item_t *p_i, bool b_error)
Definition: item.c:50
demux_Delete
void demux_Delete(demux_t *p_demux)
Definition: demux.c:286
input_source_t::b_can_rate_control
bool b_can_rate_control
Definition: input_internal.h:64
vlc_aout.h
INPUT_CONTROL_SET_POSITION
Definition: input_internal.h:194
input_Start
int input_Start(input_thread_t *p_input)
Start a input_thread_t created by input_Create.
Definition: input.c:172
demux_meta_t::p_meta
vlc_meta_t * p_meta
meta data
Definition: vlc_demux.h:117
INPUT_CONTROL_SET_TITLE_PREV
Definition: input_internal.h:202
INPUT_STATISTIC_DECODED_AUDIO
Definition: input_interface.h:76
vlc_interrupt_init
void vlc_interrupt_init(vlc_interrupt_t *ctx)
Initializes an interruption context.
Definition: interrupt.c:51
vlc_viewpoint_init
static void vlc_viewpoint_init(vlc_viewpoint_t *p_vp)
Definition: vlc_viewpoint.h:51
input_source_t::b_can_pace_control
bool b_can_pace_control
Definition: input_internal.h:63
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:70
input_item_slave_Delete
#define input_item_slave_Delete(p_slave)
Definition: vlc_input_item.h:250
input_thread_private_t::attachment
input_attachment_t ** attachment
Definition: input_internal.h:130
input_item_t::p_stats
input_stats_t * p_stats
Statistics.
Definition: vlc_input_item.h:78
input_thread_t
Main structure representing an input thread.
Definition: vlc_input.h:221
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:468
input_thread_private_t::p_sout_sent_packets
counter_t * p_sout_sent_packets
Definition: input_internal.h:160
InputStreamHandleAnchor
static int InputStreamHandleAnchor(input_source_t *source, stream_t **stream, char const *anchor)
Definition: input.c:2563
DEMUX_GET_ATTACHMENTS
Definition: vlc_demux.h:274
DEMUX_CAN_CONTROL_RATE
Definition: vlc_demux.h:296
vlc_stream_directory_Attach
int vlc_stream_directory_Attach(stream_t **source, char const *module_name)
Definition: stream_extractor.c:333
vlc_meta_Description
Definition: vlc_meta.h:41
input_resource_t
Definition: resource.c:44
input_item_Hold
input_item_t * input_item_Hold(input_item_t *p_item)
Holds an input item, i.e.
Definition: item.c:469
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:49
input_title_t::seekpoint
seekpoint_t ** seekpoint
Definition: vlc_input.h:99
input_thread_private_t::p_sout_sent_bytes
counter_t * p_sout_sent_bytes
Definition: input_internal.h:161
input_source_t::title
input_title_t ** title
Definition: input_internal.h:51
ES_OUT_START_ALL_ES
Definition: es_out.h:56
input_thread_private_t::b_preparsing
bool b_preparsing
Definition: input_internal.h:88
input_ControlPush
void input_ControlPush(input_thread_t *p_input, int i_type, vlc_value_t *p_val)
Definition: input.c:1589
input_internal.h
event.h
input_ControlVarNavigation
void input_ControlVarNavigation(input_thread_t *)
Definition: var.c:249
es_out_GetEmpty
static bool es_out_GetEmpty(es_out_t *p_out)
Definition: es_out.h:113
vlc_value_t
VLC value structure.
Definition: vlc_common.h:329
InputUpdateMeta
static void InputUpdateMeta(input_thread_t *p_input, demux_t *p_demux)
Definition: input.c:3095
vlc_url_t::psz_path
char * psz_path
Definition: vlc_url.h:152
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
input_source_t::p_demux
demux_t * p_demux
Demux object (most downstream)
Definition: input_internal.h:46
aout_VolumeUpdate
int aout_VolumeUpdate(audio_output_t *aout, int value, float *volp)
Raises the volume.
Definition: output.c:756
input_thread_private_t::title
input_title_t *const * title
Definition: input_internal.h:118
PLAYING_S
Definition: vlc_input.h:284
ES_OUT_MODE_NONE
Definition: es_out.h:52
vlc_dialog.h
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
var_FreeList
void var_FreeList(vlc_value_t *p_val, vlc_value_t *p_val2)
Free a list and the associated strings.
Definition: variables.c:1285
INPUT_CONTROL_SET_TITLE_NEXT
Definition: input_internal.h:201
vlc_seekpoint_Delete
static void vlc_seekpoint_Delete(seekpoint_t *point)
Definition: vlc_input.h:64
input_resource_HasVout
bool input_resource_HasVout(input_resource_t *p_resource)
This function return true if there is at least one vout in the resources.
Definition: resource.c:490
ES_OUT_RESTART_ES_BY_ID
Definition: es_out.h:48
input_Stop
void input_Stop(input_thread_t *p_input)
Request a running input thread to stop and die.
Definition: input.c:198
secstotimestr
char * secstotimestr(char *psz_buffer, int32_t i_seconds)
Convert seconds to a time in the format h:mm:ss.
Definition: mtime.c:49
input_item_slave_GetType
bool input_item_slave_GetType(const char *psz_filename, enum slave_type *p_slave_type)
Definition: item.c:637
var_GetBool
#define var_GetBool(a, b)
Definition: vlc_variables.h:656
vlc_join
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:270
vlc_viewpoint_t::pitch
float pitch
Definition: vlc_viewpoint.h:46
input_item_t::psz_uri
char * psz_uri
mrl of this item
Definition: vlc_input_item.h:61
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
INPUT_CONTROL_FIFO_SIZE
#define INPUT_CONTROL_FIFO_SIZE
Definition: input_internal.h:39
vlc_seekpoint_New
static seekpoint_t * vlc_seekpoint_New(void)
Definition: vlc_input.h:54
input_item_ChangeEPGSource
void input_item_ChangeEPGSource(input_item_t *p_item, int i_source_id)
Definition: item.c:995
INPUT_RATE_MAX
#define INPUT_RATE_MAX
Maximal rate value.
Definition: vlc_input.h:314
input_thread_private_t::i_title_offset
int i_title_offset
Definition: input_internal.h:120
p
#define p(t)
input_item_slave::psz_uri
char psz_uri[]
Slave mrl.
Definition: vlc_input_item.h:177
input_thread_private_t::p_es_out_display
es_out_t * p_es_out_display
Definition: input_internal.h:111
vlc_modules.h
VLC_DEMUXER_SUCCESS
#define VLC_DEMUXER_SUCCESS
Definition: vlc_demux.h:103
ControlNavDisplayPosition
static void ControlNavDisplayPosition(vout_thread_t *p_vout, input_thread_t *p_input)
Definition: input.c:1856
vlc_viewpoint_t::fov
float fov
Definition: vlc_viewpoint.h:48
ControlNav
static void ControlNav(input_thread_t *p_input, int i_type)
Definition: input.c:1881
vlc_common_members::flags
int flags
Definition: vlc_common.h:432
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120
input_source_t::b_rescale_ts
bool b_rescale_ts
Definition: input_internal.h:66
item.h
var_Change
#define var_Change(a, b, c, d, e)
Definition: vlc_variables.h:127