VLC  4.0.0-dev
es_out.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * es_out.h: Input es_out functions
3  *****************************************************************************
4  * Copyright (C) 1998-2008 VLC authors and VideoLAN
5  * Copyright (C) 2008 Laurent Aimar
6  *
7  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
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_ES_OUT_H
25 #define LIBVLC_INPUT_ES_OUT_H 1
26 
27 #include <vlc_common.h>
28 
30 {
31  ES_OUT_MODE_NONE, /* don't select anything */
32  ES_OUT_MODE_ALL, /* eg for stream output */
33  ES_OUT_MODE_AUTO, /* best audio/video or for input follow audio-track, sub-track */
34  ES_OUT_MODE_PARTIAL,/* select programs given after --programs */
35  ES_OUT_MODE_END /* mark the es_out as dead */
36 };
37 
39 {
40  /* set/get mode */
42 
43  /* Same than ES_OUT_SET_ES/ES_OUT_UNSET_ES/ES_OUT_RESTART_ES, but with vlc_es_id_t * */
44  ES_OUT_PRIV_SET_ES, /* arg1= vlc_es_id_t* */
45  ES_OUT_PRIV_UNSET_ES, /* arg1= vlc_es_id_t* res=can fail */
46  ES_OUT_PRIV_RESTART_ES, /* arg1= vlc_es_id_t* */
47 
48  /* Get date to wait before demuxing more data */
49  ES_OUT_PRIV_GET_WAKE_UP, /* arg1=vlc_tick_t* res=cannot fail */
50 
51  /* Select a list of ES */
52  ES_OUT_PRIV_SET_ES_LIST, /* arg1= vlc_es_id_t *const* (null terminated array) */
53 
54  ES_OUT_PRIV_SET_ES_CAT_IDS, /* arg1=es_format_category_e arg2=const char *, res=cannot fail */
55 
56  /* Stop all selected ES and save the stopped state in a context.
57  * Call ES_OUT_PRIV_START_ALL_ES to release the context. */
58  ES_OUT_PRIV_STOP_ALL_ES, /* arg1=vlc_es_id_t *** */
59  /* Start all ES from the context returned by ES_OUT_PRIV_STOP_ALL_ES */
60  ES_OUT_PRIV_START_ALL_ES, /* arg1=vlc_es_id_t ** */
61 
62  /* Get buffering state */
63  ES_OUT_PRIV_GET_BUFFERING, /* arg1=bool* res=cannot fail */
64 
65  /* Set delay for an ES identifier */
66  ES_OUT_PRIV_SET_ES_DELAY, /* arg1=vlc_es_id_t *, res=cannot fail */
67 
68  /* Set delay for a ES category */
69  ES_OUT_PRIV_SET_DELAY, /* arg1=es_category_e, res=cannot fail */
70 
71  /* Set record state */
72  ES_OUT_PRIV_SET_RECORD_STATE, /* arg1=bool res=can fail */
73 
74  /* Set pause state */
75  ES_OUT_PRIV_SET_PAUSE_STATE, /* arg1=bool b_source_paused, bool b_paused arg2=vlc_tick_t res=can fail */
76 
77  /* Set rate */
78  ES_OUT_PRIV_SET_RATE, /* arg1=double source_rate arg2=double rate res=can fail */
79 
80  /* Set next frame */
81  ES_OUT_PRIV_SET_FRAME_NEXT, /* res=can fail */
82 
83  /* Set position/time/length */
84  ES_OUT_PRIV_SET_TIMES, /* arg1=double f_position arg2=vlc_tick_t i_time arg3=vlc_tick_t i_normal_time arg4=vlc_tick_t i_length res=cannot fail */
85 
86  /* Set jitter */
87  ES_OUT_PRIV_SET_JITTER, /* arg1=vlc_tick_t i_pts_delay arg2= vlc_tick_t i_pts_jitter, arg2=int i_cr_average res=cannot fail */
88 
89  /* Get forced group */
90  ES_OUT_PRIV_GET_GROUP_FORCED, /* arg1=int * res=cannot fail */
91 
92  /* Set End Of Stream */
93  ES_OUT_PRIV_SET_EOS, /* res=cannot fail */
94 
95  /* Set a VBI/Teletext page */
96  ES_OUT_PRIV_SET_VBI_PAGE, /* arg1=unsigned res=can fail */
97 
98  /* Set VBI/Teletext menu transparent */
99  ES_OUT_PRIV_SET_VBI_TRANSPARENCY /* arg1=bool res=can fail */
100 };
101 
102 static inline int es_out_vaPrivControl( es_out_t *out, int query, va_list args )
103 {
104  vlc_assert( out->cbs->priv_control );
105  return out->cbs->priv_control( out, query, args );
106 }
107 
108 static inline int es_out_PrivControl( es_out_t *out, int query, ... )
109 {
110  va_list args;
111  va_start( args, query );
112  int result = es_out_vaPrivControl( out, query, args );
113  va_end( args );
114  return result;
115 }
116 
117 static inline void es_out_SetMode( es_out_t *p_out, int i_mode )
118 {
119  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_MODE, i_mode );
120  assert( !i_ret );
121 }
122 static inline int es_out_SetEs( es_out_t *p_out, vlc_es_id_t *id )
123 {
124  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_ES, id );
125 }
126 static inline int es_out_UnsetEs( es_out_t *p_out, vlc_es_id_t *id )
127 {
128  return es_out_PrivControl( p_out, ES_OUT_PRIV_UNSET_ES, id );
129 }
130 static inline int es_out_RestartEs( es_out_t *p_out, vlc_es_id_t *id )
131 {
132  return es_out_PrivControl( p_out, ES_OUT_PRIV_RESTART_ES, id );
133 }
134 static inline vlc_tick_t es_out_GetWakeup( es_out_t *p_out )
135 {
136  vlc_tick_t i_wu;
137  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_GET_WAKE_UP, &i_wu );
138 
139  assert( !i_ret );
140  return i_wu;
141 }
142 static inline int es_out_SetEsList( es_out_t *p_out,
143  enum es_format_category_e cat,
144  vlc_es_id_t **ids )
145 {
146  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_ES_LIST, cat, ids );
147 }
148 static inline void es_out_SetEsCatIds( es_out_t *p_out,
149  enum es_format_category_e cat,
150  const char *str_ids )
151 {
153  cat, str_ids );
154  assert( ret == VLC_SUCCESS );
155 }
156 static inline int es_out_StopAllEs( es_out_t *p_out, vlc_es_id_t ***context )
157 {
158  return es_out_PrivControl( p_out, ES_OUT_PRIV_STOP_ALL_ES, context );
159 }
160 static inline int es_out_StartAllEs( es_out_t *p_out, vlc_es_id_t **context )
161 {
162  return es_out_PrivControl( p_out, ES_OUT_PRIV_START_ALL_ES, context );
163 }
164 static inline bool es_out_GetBuffering( es_out_t *p_out )
165 {
166  bool b;
167  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_GET_BUFFERING, &b );
168 
169  assert( !i_ret );
170  return b;
171 }
172 static inline bool es_out_GetEmpty( es_out_t *p_out )
173 {
174  bool b;
175  int i_ret = es_out_Control( p_out, ES_OUT_GET_EMPTY, &b );
176 
177  assert( !i_ret );
178  return b;
179 }
180 static inline void es_out_SetEsDelay( es_out_t *p_out, vlc_es_id_t *es, vlc_tick_t i_delay )
181 {
182  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_ES_DELAY, es, i_delay );
183  assert( !i_ret );
184 }
185 static inline void es_out_SetDelay( es_out_t *p_out, int i_cat, vlc_tick_t i_delay )
186 {
187  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_DELAY, i_cat, i_delay );
188  assert( !i_ret );
189 }
190 static inline int es_out_SetRecordState( es_out_t *p_out, bool b_record )
191 {
192  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_RECORD_STATE, b_record );
193 }
194 static inline int es_out_SetPauseState( es_out_t *p_out, bool b_source_paused, bool b_paused, vlc_tick_t i_date )
195 {
196  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_PAUSE_STATE, b_source_paused, b_paused, i_date );
197 }
198 static inline int es_out_SetRate( es_out_t *p_out, float source_rate, float rate )
199 {
200  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_RATE, source_rate, rate );
201 }
202 static inline int es_out_SetFrameNext( es_out_t *p_out )
203 {
205 }
206 static inline void es_out_SetTimes( es_out_t *p_out, double f_position,
207  vlc_tick_t i_time, vlc_tick_t i_normal_time,
208  vlc_tick_t i_length )
209 {
210  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_TIMES, f_position, i_time,
211  i_normal_time, i_length );
212  assert( !i_ret );
213 }
214 static inline void es_out_SetJitter( es_out_t *p_out,
215  vlc_tick_t i_pts_delay, vlc_tick_t i_pts_jitter, int i_cr_average )
216 {
217  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_JITTER,
218  i_pts_delay, i_pts_jitter, i_cr_average );
219  assert( !i_ret );
220 }
221 static inline int es_out_GetGroupForced( es_out_t *p_out )
222 {
223  int i_group;
224  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_GET_GROUP_FORCED, &i_group );
225  assert( !i_ret );
226  return i_group;
227 }
228 static inline void es_out_Eos( es_out_t *p_out )
229 {
230  int i_ret = es_out_PrivControl( p_out, ES_OUT_PRIV_SET_EOS );
231  assert( !i_ret );
232 }
233 static inline int es_out_SetVbiPage( es_out_t *p_out, vlc_es_id_t *id,
234  unsigned page )
235 {
236  return es_out_PrivControl( p_out, ES_OUT_PRIV_SET_VBI_PAGE, id, page );
237 }
238 static inline int es_out_SetVbiTransparency( es_out_t *p_out, vlc_es_id_t *id,
239  bool enabled )
240 {
242  enabled );
243 }
244 
245 es_out_t *input_EsOutNew( input_thread_t *, input_source_t *main_source, float rate );
248 
251 
252 #endif
subs_format_t::psz_encoding
char * psz_encoding
Definition: vlc_es.h:554
es_out_SetEsDelay
static void es_out_SetEsDelay(es_out_t *p_out, vlc_es_id_t *es, vlc_tick_t i_delay)
Definition: es_out.h:180
COLOR_SPACE_BT601
@ COLOR_SPACE_BT601
Definition: vlc_es.h:314
input_clock_GetState
int input_clock_GetState(input_clock_t *cl, vlc_tick_t *pi_stream_start, vlc_tick_t *pi_system_start, vlc_tick_t *pi_stream_duration, vlc_tick_t *pi_system_duration)
This function returns current clock state or VLC_EGENERIC if there is not a reference point.
Definition: input_clock.c:378
INPUT_EVENT_THUMBNAIL_READY
@ INPUT_EVENT_THUMBNAIL_READY
Definition: input_internal.h:145
COLOR_PRIMARIES_BT2020
@ COLOR_PRIMARIES_BT2020
Definition: vlc_es.h:272
input_resource_StopFreeVout
void input_resource_StopFreeVout(input_resource_t *p_resource)
Definition: resource.c:562
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
MULTIVIEW_STEREO_COL
@ MULTIVIEW_STEREO_COL
Definition: vlc_es.h:241
es_out_sys_t::es
struct vlc_list es
Definition: es_out.c:189
vlc_input_event_vout::order
enum vlc_vout_order order
Definition: input_internal.h:257
input_item_MergeInfos
void input_item_MergeInfos(input_item_t *p_item, info_category_t *p_cat)
Definition: item.c:813
vlc_clock_main_Delete
void vlc_clock_main_Delete(vlc_clock_main_t *main_clock)
Destroy the clock main.
Definition: clock.c:473
input_SendEventOutputClock
static void input_SendEventOutputClock(input_thread_t *p_input, vlc_es_id_t *id, bool master, vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base)
Definition: event.h:68
input_CanPaceControl
bool input_CanPaceControl(input_thread_t *input)
Definition: input.c:3547
count
size_t count
Definition: core.c:401
es_out_mode_e
es_out_mode_e
Definition: es_out.h:29
input_GetAttachments
int input_GetAttachments(input_thread_t *input, input_attachment_t ***attachments)
Definition: input.c:3500
video_format_t::b_multiview_right_eye_first
bool b_multiview_right_eye_first
Multiview mode, 2D, 3D.
Definition: vlc_es.h:379
input_item_t::p_meta
vlc_meta_t * p_meta
Definition: vlc_input_item.h:99
es_out_sys_t::b_active
bool b_active
Definition: es_out.c:193
MULTIVIEW_STEREO_CHECKERBOARD
@ MULTIVIEW_STEREO_CHECKERBOARD
Definition: vlc_es.h:247
es_cat
static es_out_id_t es_cat[DATA_ES]
Definition: es_out.c:716
input_Stopped
bool input_Stopped(input_thread_t *input)
Definition: input.c:505
TRANSFER_FUNC_BT470_M
@ TRANSFER_FUNC_BT470_M
Definition: vlc_es.h:294
VIDEO_ES
@ VIDEO_ES
Definition: vlc_es.h:603
es_format_t::psz_description
char * psz_description
human-readable description of language
Definition: vlc_es.h:637
vlc_clock_master_source
vlc_clock_master_source
Definition: clock.h:23
es_out_sys_t::p_input
input_thread_t * p_input
Definition: es_out.c:174
vlc_memstream
In-memory stream object.
Definition: vlc_memstream.h:41
clock_source_mapping::val
enum vlc_clock_master_source val
Definition: es_out.c:270
vlc_demux.h
EsOutGlobalMeta
static void EsOutGlobalMeta(es_out_t *p_out, const vlc_meta_t *p_meta)
Definition: es_out.c:1930
ProgramDelete
static void ProgramDelete(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:653
input_attachment_t
Definition: vlc_input.h:159
ES_OUT_PRIV_SET_VBI_TRANSPARENCY
@ ES_OUT_PRIV_SET_VBI_TRANSPARENCY
Definition: es_out.h:99
input_SendEventVbiTransparency
static void input_SendEventVbiTransparency(input_thread_t *p_input, bool transparent)
Definition: event.h:269
input_stats::displayed_pictures
atomic_uintmax_t displayed_pictures
Definition: input_internal.h:739
vlc_epg_t::psz_name
char * psz_name
Definition: vlc_epg.h:53
input_thread_private_t::master
input_source_t * master
Definition: input_internal.h:515
info.h
es_out_es_props_t::i_count
int i_count
Definition: es_out.c:160
ES_OUT_MODIFY_PCR_SYSTEM
@ ES_OUT_MODIFY_PCR_SYSTEM
Definition: vlc_es_out.h:100
es_format_t::video
video_format_t video
description of video format
Definition: vlc_es.h:646
COLOR_RANGE_FULL
@ COLOR_RANGE_FULL
Definition: vlc_es.h:341
es_out_callbacks::add
es_out_id_t *(* add)(es_out_t *, input_source_t *in, const es_format_t *)
Definition: vlc_es_out.h:132
input_SendEventMetaEpg
static void input_SendEventMetaEpg(input_thread_t *p_input)
Definition: event.h:166
AUDIO_REPLAY_GAIN_MAX
#define AUDIO_REPLAY_GAIN_MAX
audio replay gain description
Definition: vlc_es.h:52
es_out_query_private_e
es_out_query_private_e
Definition: es_out.h:38
vlc_meta_Get
const char * vlc_meta_Get(const vlc_meta_t *p_meta, vlc_meta_type_t meta_type)
Definition: meta.c:129
aout_BitsPerSample
unsigned int aout_BitsPerSample(vlc_fourcc_t i_format)
Definition: common.c:41
EsOutAdd
static es_out_id_t * EsOutAdd(es_out_t *out, input_source_t *source, const es_format_t *fmt)
Definition: es_out.c:2191
ES_OUT_PRIVATE_START
@ ES_OUT_PRIVATE_START
Definition: vlc_es_out.h:118
input_thread_private_t::p_sout
sout_instance_t * p_sout
Definition: input_internal.h:494
input_source_GetStrId
const char * input_source_GetStrId(input_source_t *in)
Returns the string identifying this input source.
Definition: input.c:2851
VLC_VIDEOS_DIR
@ VLC_VIDEOS_DIR
Definition: vlc_configuration.h:319
CHROMA_LOCATION_CENTER
@ CHROMA_LOCATION_CENTER
Definition: vlc_es.h:330
ES_OUT_MODE_END
@ ES_OUT_MODE_END
Definition: es_out.h:56
strcasecmp
int strcasecmp(const char *, const char *)
psz_name
const char * psz_name
Definition: text_style.c:53
es_out_sys_t::b_buffering
bool b_buffering
Definition: es_out.c:220
ES_OUT_SET_GROUP_EPG_EVENT
@ ES_OUT_SET_GROUP_EPG_EVENT
Definition: vlc_es_out.h:79
es_format_t::i_bitrate
unsigned int i_bitrate
bitrate of this ES
Definition: vlc_es.h:650
input_SendEventVbiPage
static void input_SendEventVbiPage(input_thread_t *p_input, unsigned page)
Definition: event.h:261
vlc_input_decoder_GetVbiPage
int vlc_input_decoder_GetVbiPage(vlc_input_decoder_t *owner, bool *opaque)
Definition: decoder.c:2588
vlc_es_id_Release
void vlc_es_id_Release(vlc_es_id_t *id)
Decrease the ES track id reference count.
Definition: es_out.c:4514
vlc_input_decoder_IsEmpty
bool vlc_input_decoder_IsEmpty(vlc_input_decoder_t *p_owner)
This function returns true if the decoder fifo is empty and false otherwise.
Definition: decoder.c:2247
ES_OUT_SET_META
@ ES_OUT_SET_META
Definition: vlc_es_out.h:96
EsOutStopFreeVout
static void EsOutStopFreeVout(es_out_t *out)
Definition: es_out.c:964
vlc_clock_main_SetDejitter
void vlc_clock_main_SetDejitter(vlc_clock_main_t *main_clock, vlc_tick_t dejitter)
This function sets the dejitter delay to absorb the clock jitter.
Definition: clock.c:435
input_SendEventMeta
static void input_SendEventMeta(input_thread_t *p_input)
Definition: event.h:152
vlc_meta_Merge
void vlc_meta_Merge(vlc_meta_t *dst, const vlc_meta_t *src)
Merging meta.
Definition: meta.c:175
EsOutMeta
static void EsOutMeta(es_out_t *p_out, const vlc_meta_t *p_meta, const vlc_meta_t *p_progmeta)
Definition: es_out.c:1884
vlc_spu_highlight_t
Definition: vlc_subpicture.h:85
vlc_es_id_t::i_cat
enum es_format_category_e i_cat
Definition: es_out.c:97
video_format_t::MaxFALL
uint16_t MaxFALL
Definition: vlc_es.h:393
EsOutCreateDecoder
static void EsOutCreateDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:2234
VLC_CLOCK_MASTER_AUDIO
@ VLC_CLOCK_MASTER_AUDIO
Definition: clock.h:44
vlc_memstream::ptr
char * ptr
Buffer start address.
Definition: vlc_memstream.h:48
EsOutSendEsEvent
static void EsOutSendEsEvent(es_out_t *out, es_out_id_t *es, int action, bool forced)
Definition: es_out.c:1262
EsOutIsGroupSticky
static bool EsOutIsGroupSticky(es_out_t *p_out, input_source_t *source, int i_group)
Definition: es_out.c:1324
es_out_sys_t::out
es_out_t out
Definition: es_out.c:231
es_out_SetEsCatIds
static void es_out_SetEsCatIds(es_out_t *p_out, enum es_format_category_e cat, const char *str_ids)
Definition: es_out.h:148
TRANSFER_FUNC_BT470_BG
@ TRANSFER_FUNC_BT470_BG
Definition: vlc_es.h:293
vlc_epg_event_t
Definition: vlc_epg.h:32
vlc_input_decoder_GetCcDesc
void vlc_input_decoder_GetCcDesc(vlc_input_decoder_t *p_owner, decoder_cc_desc_t *p_desc)
This function get cc channels descriptions.
Definition: decoder.c:2354
input_SendEventProgramSelect
static void input_SendEventProgramSelect(input_thread_t *p_input, int i_program)
Definition: event.h:219
unlikely
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
es_out_id_t::p_pgrm
es_out_pgrm_t * p_pgrm
Definition: es_out.c:113
ES_OUT_PRIV_GET_WAKE_UP
@ ES_OUT_PRIV_GET_WAKE_UP
Definition: es_out.h:49
LanguageArrayIndex
static int LanguageArrayIndex(char **ppsz_langs, const char *psz_lang)
Definition: es_out.c:4055
video_format_t::color_range
video_color_range_t color_range
0-255 instead of 16-235
Definition: vlc_es.h:375
demux_Control
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:301
vlc_common.h
ES_OUT_VOUT_SET_MOUSE_EVENT
@ ES_OUT_VOUT_SET_MOUSE_EVENT
Definition: vlc_es_out.h:104
vlc_meta_CopyExtraNames
char ** vlc_meta_CopyExtraNames(const vlc_meta_t *m)
Allocate a copy of all extra meta names and a table with it.
Definition: meta.c:153
input_source_Hold
input_source_t * input_source_Hold(input_source_t *in)
Hold the input_source_t.
Definition: input.c:2836
decoder_cc_desc_t::i_608_channels
uint8_t i_608_channels
Definition: vlc_codec.h:207
EsOutDecoderChangeDelay
static void EsOutDecoderChangeDelay(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:1120
vlc_input_decoder_ChangeRate
void vlc_input_decoder_ChangeRate(vlc_input_decoder_t *owner, float rate)
Changes the decoder rate.
Definition: decoder.c:2464
decoder_on_new_audio_stats
static void decoder_on_new_audio_stats(vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned played, void *userdata)
Definition: es_out.c:418
LanguageGetCode
static char * LanguageGetCode(const char *psz_lang)
Definition: es_out.c:3984
ES_OUT_DEL_GROUP
@ ES_OUT_DEL_GROUP
Definition: vlc_es_out.h:83
input_clock_t
Definition: input_clock.c:105
es_out_sys_t::main_source
input_source_t * main_source
Definition: es_out.c:176
vlc_stream_fifo_New
vlc_stream_fifo_t * vlc_stream_fifo_New(vlc_object_t *parent, stream_t **reader)
Creates a FIFO stream.
Definition: stream_fifo.c:106
BLOCK_FLAG_CORRUPTED
#define BLOCK_FLAG_CORRUPTED
This block is corrupted and/or there is data loss
Definition: vlc_block.h:87
vlc_input_decoder_Decode
void vlc_input_decoder_Decode(vlc_input_decoder_t *p_owner, block_t *p_block, bool b_do_pace)
Put a block_t in the decoder's fifo.
Definition: decoder.c:2217
EsOutProgramSelect
static void EsOutProgramSelect(es_out_t *out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1342
input_item_SetName
void input_item_SetName(input_item_t *p_item, const char *psz_name)
Definition: item.c:279
CHROMA_LOCATION_LEFT
@ CHROMA_LOCATION_LEFT
Definition: vlc_es.h:329
input_SendEventVout
static void input_SendEventVout(input_thread_t *p_input, const struct vlc_input_event_vout *event)
Definition: event.h:281
CHROMA_LOCATION_BOTTOM_LEFT
@ CHROMA_LOCATION_BOTTOM_LEFT
Definition: vlc_es.h:333
vlc_meta_GetExtra
const char * vlc_meta_GetExtra(const vlc_meta_t *m, const char *psz_name)
Definition: meta.c:143
es_out_pgrm_t
Definition: es_out.c:63
input_SendEventProgramDel
static void input_SendEventProgramDel(input_thread_t *p_input, int i_program)
Definition: event.h:208
ES_OUT_PRIV_UNSET_ES
@ ES_OUT_PRIV_UNSET_ES
Definition: es_out.h:45
ES_OUT_ES_POLICY_EXCLUSIVE
@ ES_OUT_ES_POLICY_EXCLUSIVE
Definition: vlc_es_out.h:123
ES_OUT_SET_NEXT_DISPLAY_TIME
@ ES_OUT_SET_NEXT_DISPLAY_TIME
Definition: vlc_es_out.h:74
input_item_AddInfo
int input_item_AddInfo(input_item_t *p_i, const char *psz_cat, const char *psz_name, const char *psz_format,...)
Definition: item.c:736
ES_OUT_PRIV_STOP_ALL_ES
@ ES_OUT_PRIV_STOP_ALL_ES
Definition: es_out.h:58
es_out_id_t::p_dec
vlc_input_decoder_t * p_dec
Definition: es_out.c:131
EsOutPrivControlLocked
static int EsOutPrivControlLocked(es_out_t *out, int i_query,...)
Definition: es_out.c:3911
ES_PRIORITY_NOT_DEFAULTABLE
#define ES_PRIORITY_NOT_DEFAULTABLE
Definition: vlc_es.h:614
EsOutEpgTime
static void EsOutEpgTime(es_out_t *out, int64_t time)
Definition: es_out.c:1842
COLOR_SPACE_MAX
#define COLOR_SPACE_MAX
Definition: vlc_es.h:320
vlc_pgettext
#define vlc_pgettext(ctx, id)
Definition: vlc_common.h:1162
EsOutSetRecord
static int EsOutSetRecord(es_out_t *, bool b_record)
Definition: es_out.c:785
ES_OUT_VOUT_DEL_OVERLAY
@ ES_OUT_VOUT_DEL_OVERLAY
Definition: vlc_es_out.h:111
es_out_sys_t::lock
vlc_mutex_t lock
Definition: es_out.c:179
vlc_input_event_vout::VLC_INPUT_EVENT_VOUT_STOPPED
@ VLC_INPUT_EVENT_VOUT_STOPPED
Definition: input_internal.h:254
ES_OUT_PRIV_SET_VBI_PAGE
@ ES_OUT_PRIV_SET_VBI_PAGE
Definition: es_out.h:96
BLOCK_FLAG_PREROLL
#define BLOCK_FLAG_PREROLL
This block has to be decoded but not be displayed.
Definition: vlc_block.h:85
audio_replay_gain_t
Definition: vlc_es.h:55
vlc_es_out.h
EsOutCreateStrId
static char * EsOutCreateStrId(es_out_id_t *es, bool stable, const char *id, es_out_id_t *p_master)
Definition: es_out.c:2008
vlc_clock_Delete
void vlc_clock_Delete(vlc_clock_t *clock)
This function free the resources allocated by vlc_clock*Create*()
Definition: clock.c:650
es_out_pgrm_t::i_es
int i_es
Definition: es_out.c:97
es_out_pgrm_t::active_clock_source
enum vlc_clock_master_source active_clock_source
Definition: es_out.c:105
input_SendEventProgramScrambled
static void input_SendEventProgramScrambled(input_thread_t *p_input, int i_group, bool b_scrambled)
Definition: event.h:230
input_SendEventTimes
static void input_SendEventTimes(input_thread_t *p_input, double f_position, vlc_tick_t i_time, vlc_tick_t i_normal_time, vlc_tick_t i_length)
Definition: event.h:57
block_t::i_buffer
size_t i_buffer
Payload length.
Definition: vlc_block.h:122
vlc_input_decoder_SetVbiOpaque
int vlc_input_decoder_SetVbiOpaque(vlc_input_decoder_t *owner, bool opaque)
Definition: decoder.c:2605
audio_format_t::i_bitspersample
unsigned i_bitspersample
Definition: vlc_es.h:111
vlc_es_id_t::stable
bool stable
Definition: es_out.c:101
input_item_t
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:77
es_out.h
input_stats::demux_discontinuity
atomic_uintmax_t demux_discontinuity
Definition: input_internal.h:734
VLC_CLOCK_MASTER_INPUT
@ VLC_CLOCK_MASTER_INPUT
Definition: clock.h:45
input_item_t::i_epg
int i_epg
Number of EPG entries.
Definition: vlc_input_item.h:101
AUDIO_REPLAY_GAIN_TRACK
#define AUDIO_REPLAY_GAIN_TRACK
Definition: vlc_es.h:53
decoder_cc_desc_t
Definition: vlc_codec.h:205
TRANSFER_FUNC_MAX
#define TRANSFER_FUNC_MAX
Definition: vlc_es.h:305
vlc_clock_main_t
Definition: clock.c:31
GetPropsByCat
static es_out_es_props_t * GetPropsByCat(es_out_sys_t *p_sys, int i_cat)
Definition: es_out.c:471
COLOR_RANGE_UNDEF
@ COLOR_RANGE_UNDEF
Definition: vlc_es.h:340
es_out_GetWakeup
static vlc_tick_t es_out_GetWakeup(es_out_t *p_out)
Definition: es_out.h:134
EsOutSelectListFromProps
static void EsOutSelectListFromProps(es_out_t *out, enum es_format_category_e cat)
Definition: es_out.c:2691
input_clock_GetSystemOrigin
void input_clock_GetSystemOrigin(input_clock_t *cl, vlc_tick_t *pi_system, vlc_tick_t *pi_delay)
This function returns the original system value date and the delay for the current reference point (a...
Definition: input_clock.c:418
es_out_id_t::delay
vlc_tick_t delay
Definition: es_out.c:139
es_format_t::i_id
int i_id
es identifier, where means -1: let the core mark the right id >=0: valid id
Definition: vlc_es.h:623
info_category_AddCodecInfo
static void info_category_AddCodecInfo(info_category_t *p_cat, const char *psz_info, vlc_fourcc_t i_fourcc, const char *psz_description)
Definition: es_out.c:4113
DATA_ES
@ DATA_ES
Definition: vlc_es.h:606
es_out_sys_t
Definition: es_out.c:172
input_item_SetArtURL
#define input_item_SetArtURL
Definition: vlc_input_item.h:330
vlc_list_init
static void vlc_list_init(struct vlc_list *restrict head)
Initializes an empty list head.
Definition: vlc_list.h:57
input_item_t::lock
vlc_mutex_t lock
Lock for the item.
Definition: vlc_input_item.h:112
input_stats::decoded_video
atomic_uintmax_t decoded_video
Definition: input_internal.h:736
EsOutChangePosition
static void EsOutChangePosition(es_out_t *out, bool b_flush)
Definition: es_out.c:925
es_out_es_props_t::p_main_es
es_out_id_t * p_main_es
Definition: es_out.c:161
vlc_demux_chained_t::stats
struct vlc_demux_chained_t::@12 stats
es_out_pgrm_t::i_last_pcr
vlc_tick_t i_last_pcr
Definition: es_out.c:107
iso639_lang_t::psz_eng_name
const char * psz_eng_name
Definition: vlc_iso_lang.h:32
EsIsSelected
static bool EsIsSelected(es_out_id_t *es)
Definition: es_out.c:2204
input_thread_private_t::b_thumbnailing
bool b_thumbnailing
Definition: input_internal.h:480
INPUT_RECORD_PREFIX
#define INPUT_RECORD_PREFIX
Record prefix string.
Definition: vlc_input_item.h:382
ES_OUT_GET_ES_STATE
@ ES_OUT_GET_ES_STATE
Definition: vlc_es_out.h:51
es_out_vaPrivControl
static int es_out_vaPrivControl(es_out_t *out, int query, va_list args)
Definition: es_out.h:102
vlc_atomic_rc_dec
static bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
Decrement the RC and return true if it reaches 0.
Definition: vlc_atomic.h:61
input_source_IsAutoSelected
bool input_source_IsAutoSelected(input_source_t *in)
Returns true if a given source should be auto-selected.
Definition: input.c:2861
ES_OUT_ES_POLICY_AUTO
@ ES_OUT_ES_POLICY_AUTO
Definition: vlc_es_out.h:127
sout_instance_ControlsPace
bool sout_instance_ControlsPace(sout_instance_t *sout)
Definition: stream_output.c:149
EsOutControl
static int EsOutControl(es_out_t *out, input_source_t *source, int i_query, va_list args)
Definition: es_out.c:3895
es_out_cbs
static const struct es_out_callbacks es_out_cbs
Definition: es_out.c:527
EsOutDeleteInfoEs
static void EsOutDeleteInfoEs(es_out_t *, es_out_id_t *es)
Definition: es_out.c:4484
EsOutGetWakeup
static vlc_tick_t EsOutGetWakeup(es_out_t *out)
Definition: es_out.c:695
ES_OUT_SET_EPG_TIME
@ ES_OUT_SET_EPG_TIME
Definition: vlc_es_out.h:80
resource.h
vlc_es_id_t::i_id
int i_id
Definition: es_out.c:96
ES_OUT_PRIV_SET_ES
@ ES_OUT_PRIV_SET_ES
Definition: es_out.h:44
input_EsOutNew
es_out_t * input_EsOutNew(input_thread_t *, input_source_t *main_source, float rate)
Definition: es_out.c:532
vlc_epg_t::i_event
size_t i_event
Definition: vlc_epg.h:56
var_GetNonEmptyString
static char * var_GetNonEmptyString(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:447
vlc_memstream_puts
int() vlc_memstream_puts(struct vlc_memstream *ms, const char *str)
Appends a nul-terminated string to a byte stream.
Definition: memstream.c:156
ES_OUT_SET_ES_SCRAMBLED_STATE
@ ES_OUT_SET_ES_SCRAMBLED_STATE
Definition: vlc_es_out.h:86
EsOutDestroyDecoder
static void EsOutDestroyDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:2317
vlc_fourcc_GetDescription
const char * vlc_fourcc_GetDescription(int cat, vlc_fourcc_t fourcc)
It returns the description of the given fourcc or NULL if not found.
Definition: fourcc.c:197
video_format_t::mastering
struct video_format_t::@196 mastering
vlc_input_decoder_HasFormatChanged
bool vlc_input_decoder_HasFormatChanged(vlc_input_decoder_t *p_owner, es_format_t *p_fmt, vlc_meta_t **pp_meta)
This function will return true if the ES format or meta data have changed since the last call.
Definition: decoder.c:2544
vlc_input_decoder_callbacks::on_vout_started
void(* on_vout_started)(vlc_input_decoder_t *decoder, vout_thread_t *vout, enum vlc_vout_order vout_order, void *userdata)
Definition: decoder.h:54
vlc_input_decoder_ChangeDelay
void vlc_input_decoder_ChangeDelay(vlc_input_decoder_t *owner, vlc_tick_t delay)
This function changes the delay.
Definition: decoder.c:2471
vlc_input_event_es
Definition: input_internal.h:218
vlc_input_decoder_SetVoutMouseEvent
void vlc_input_decoder_SetVoutMouseEvent(vlc_input_decoder_t *owner, vlc_mouse_event mouse_event, void *user_data)
Definition: decoder.c:2613
MS_FROM_VLC_TICK
#define MS_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:123
es_out_id_t::fmt_out
es_format_t fmt_out
Definition: es_out.c:125
ES_OUT_PRIV_START_ALL_ES
@ ES_OUT_PRIV_START_ALL_ES
Definition: es_out.h:60
info_category_t
Definition: vlc_input_item.h:53
input_source_Release
void input_source_Release(input_source_t *in)
Release the input_source_t.
Definition: input.c:2842
EsOutProgramMeta
static void EsOutProgramMeta(es_out_t *out, input_source_t *source, int i_group, const vlc_meta_t *p_meta)
Definition: es_out.c:1614
audio_replay_gain_t::pf_peak
float pf_peak[(2)]
Definition: vlc_es.h:60
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
es_format_Clean
void es_format_Clean(es_format_t *fmt)
This function will clean up a es_format_t and release all associated resources.
Definition: es_format.c:509
input_stats::lost_abuffers
atomic_uintmax_t lost_abuffers
Definition: input_internal.h:738
input_item_node_Delete
void input_item_node_Delete(input_item_node_t *p_node)
Delete a node created with input_item_node_Create() and all its children.
Definition: item.c:1243
es_out_id_t::out
es_out_t * out
Definition: es_out.c:110
input_SendEventMetaInfo
static void input_SendEventMetaInfo(input_thread_t *p_input)
Definition: event.h:159
COLOR_PRIMARIES_BT601_525
@ COLOR_PRIMARIES_BT601_525
Definition: vlc_es.h:269
vlc_tick_sleep
#define vlc_tick_sleep(d)
Definition: vlc_threads.h:902
_
#define _(str)
Definition: vlc_fixups.h:374
PROJECTION_MODE_RECTANGULAR
@ PROJECTION_MODE_RECTANGULAR
Definition: vlc_es.h:257
ES_OUT_PRIV_SET_DELAY
@ ES_OUT_PRIV_SET_DELAY
Definition: es_out.h:69
info_category_AddInfo
static info_t * info_category_AddInfo(info_category_t *cat, const char *name, const char *format,...)
Definition: info.h:95
vlc_stream_fifo_Close
void vlc_stream_fifo_Close(vlc_stream_fifo_t *writer)
Terminates a FIFO stream.
Definition: stream_fifo.c:162
ES_OUT_PRIV_SET_TIMES
@ ES_OUT_PRIV_SET_TIMES
Definition: es_out.h:84
var_InheritString
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
es_out_es_props_t::i_demux_id
int i_demux_id
Definition: es_out.c:167
EsOutPrivControl
static int EsOutPrivControl(es_out_t *out, int query, va_list args)
Definition: es_out.c:3921
input_clock_ChangePause
void input_clock_ChangePause(input_clock_t *cl, bool b_paused, vlc_tick_t i_date)
This function allows changing the pause status.
Definition: input_clock.c:336
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_normal_time, vlc_tick_t i_length)
Definition: es_out.h:206
video_format_t::white_point
uint16_t white_point[2]
Definition: vlc_es.h:386
vlc_input_decoder_DelVoutOverlay
int vlc_input_decoder_DelVoutOverlay(vlc_input_decoder_t *owner, size_t channel)
Definition: decoder.c:2657
vlc_input_event_vout::VLC_INPUT_EVENT_VOUT_STARTED
@ VLC_INPUT_EVENT_VOUT_STARTED
Definition: input_internal.h:253
es_out_SetVbiTransparency
static int es_out_SetVbiTransparency(es_out_t *p_out, vlc_es_id_t *id, bool enabled)
Definition: es_out.h:238
input_thread_private_t::stats
struct input_stats * stats
Definition: input_internal.h:525
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
vlc_memstream_open
int vlc_memstream_open(struct vlc_memstream *ms)
Initializes a byte stream object.
Definition: memstream.c:105
iso639_lang_t::psz_iso639_1
const char psz_iso639_1[3]
Definition: vlc_iso_lang.h:33
vlc_input_event
Definition: input_internal.h:261
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:178
es_format_Init
void es_format_Init(es_format_t *fmt, int i_cat, vlc_fourcc_t i_codec)
This function will initialize a es_format_t structure.
Definition: es_format.c:409
ES_OUT_SET_GROUP
@ ES_OUT_SET_GROUP
Definition: vlc_es_out.h:57
EsTerminate
static void EsTerminate(es_out_id_t *es)
Definition: es_out.c:577
EsOutProgramAdd
static es_out_pgrm_t * EsOutProgramAdd(es_out_t *out, input_source_t *source, int i_group)
Definition: es_out.c:1434
info_category_New
static info_category_t * info_category_New(const char *name)
Definition: info.h:46
vlc_memstream_close
int vlc_memstream_close(struct vlc_memstream *ms)
Closes a byte stream object.
Definition: memstream.c:120
LanguageSplit
static char ** LanguageSplit(const char *psz_langs)
Definition: es_out.c:4003
video_format_t::transfer
video_transfer_func_t transfer
transfer function
Definition: vlc_es.h:373
vlc_demux_chained_t::writer
vlc_stream_fifo_t * writer
Definition: demux_chained.c:58
clock_source_mapping_cmp
static int clock_source_mapping_cmp(const void *key, const void *val)
Definition: es_out.c:273
CHROMA_LOCATION_UNDEF
@ CHROMA_LOCATION_UNDEF
Definition: vlc_es.h:328
vlc_clock_cbs::on_update
void(* on_update)(vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base, void *data)
Called when a clock is updated.
Definition: clock.h:53
input_EsOutNew
es_out_t * input_EsOutNew(input_thread_t *p_input, input_source_t *main_source, float rate)
Definition: es_out.c:532
block_t::i_length
vlc_tick_t i_length
Definition: vlc_block.h:131
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:214
vlc_list
Doubly-linked list node.
Definition: vlc_list.h:43
vlc_input_decoder_callbacks
Definition: decoder.h:31
input_item_SetPreparsed
void input_item_SetPreparsed(input_item_t *p_i, bool b_preparsed)
Definition: item.c:68
ES_OUT_GET_PCR_SYSTEM
@ ES_OUT_GET_PCR_SYSTEM
Definition: vlc_es_out.h:99
entry::key
char * key
Definition: vlc_fixups.h:493
vlc_demux_chained_Send
void vlc_demux_chained_Send(vlc_demux_chained_t *dc, block_t *block)
Sends data to a chained demuxer.
Definition: demux_chained.c:133
es_out_sys_t::audio
es_out_es_props_t audio
Definition: es_out.c:196
audio_format_t::i_rate
unsigned int i_rate
audio sample-rate
Definition: vlc_es.h:84
es_out_pgrm_t::p_input_clock
input_clock_t * p_input_clock
Definition: es_out.c:103
vlc_ureduce
VLC_EXPORT bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
clock_source_Inherit
static enum vlc_clock_master_source clock_source_Inherit(vlc_object_t *obj)
Definition: es_out.c:280
vlc_gettext
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:79
es_out_sys_t::b_paused
bool b_paused
Definition: es_out.c:213
audio_format_t::i_physical_channels
uint16_t i_physical_channels
Definition: vlc_es.h:88
input_stats
Definition: input_internal.h:730
EsOutDecodersChangePause
static void EsOutDecodersChangePause(es_out_t *out, bool b_paused, vlc_tick_t i_date)
Definition: es_out.c:1068
var_CountChoices
static int var_CountChoices(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:658
picture_t
Video picture.
Definition: vlc_picture.h:120
vlc_meta_TypeToLocalizedString
const char * vlc_meta_TypeToLocalizedString(vlc_meta_type_t meta_type)
Returns a localizes string describing the meta.
Definition: meta.c:49
asprintf
int asprintf(char **, const char *,...)
EsOutVaControlLocked
static int EsOutVaControlLocked(es_out_t *, input_source_t *, int, va_list)
Control query handler.
Definition: es_out.c:3095
es_out_sys_t::clock_source
enum vlc_clock_master_source clock_source
Definition: es_out.c:185
EsOutDrainCCChannels
static void EsOutDrainCCChannels(es_out_id_t *parent)
Definition: es_out.c:2429
input_stats::demux_corrupted
atomic_uintmax_t demux_corrupted
Definition: input_internal.h:733
es_out_id_t::cc
struct es_out_id_t::@13 cc
es_out_SetMode
static void es_out_SetMode(es_out_t *p_out, int i_mode)
Definition: es_out.h:117
TRANSFER_FUNC_LINEAR
@ TRANSFER_FUNC_LINEAR
Definition: vlc_es.h:291
vlc_clock_main_New
vlc_clock_main_t * vlc_clock_main_New(void)
This function creates the vlc_clock_main_t of the program.
Definition: clock.c:362
vlc_mutex_t
Mutex.
Definition: vlc_threads.h:225
video_format_t::primaries
video_color_primaries_t primaries
color primaries
Definition: vlc_es.h:372
INPUT_PTS_DELAY_MAX
#define INPUT_PTS_DELAY_MAX
Definition: input_internal.h:692
EsOutDecodersStopBuffering
static void EsOutDecodersStopBuffering(es_out_t *out, bool b_forced)
Definition: es_out.c:973
demux_TestAndClearFlags
unsigned demux_TestAndClearFlags(demux_t *p_demux, unsigned flags)
Definition: demux.c:414
vlc_clock_main_CreateMaster
vlc_clock_t * vlc_clock_main_CreateMaster(vlc_clock_main_t *main_clock, const struct vlc_clock_cbs *cbs, void *cbs_data)
This function creates a new master vlc_clock_t interface.
Definition: clock.c:559
EsRelease
static void EsRelease(es_out_id_t *es)
Definition: es_out.c:619
ES_OUT_SPU_SET_HIGHLIGHT
@ ES_OUT_SPU_SET_HIGHLIGHT
Definition: vlc_es_out.h:114
vlc_demux_chained_t::length
vlc_tick_t length
Definition: demux_chained.c:67
EsOutFrameNext
static void EsOutFrameNext(es_out_t *out)
Definition: es_out.c:1148
es_out_t::cbs
const struct es_out_callbacks * cbs
Definition: vlc_es_out.h:145
ES_OUT_PRIV_SET_PAUSE_STATE
@ ES_OUT_PRIV_SET_PAUSE_STATE
Definition: es_out.h:75
vlc_meta_t
Definition: meta.c:39
vlc_input_decoder_AddVoutOverlay
int vlc_input_decoder_AddVoutOverlay(vlc_input_decoder_t *owner, subpicture_t *sub, size_t *channel)
Definition: decoder.c:2627
ES_OUT_SET_ES_DEFAULT
@ ES_OUT_SET_ES_DEFAULT
Definition: vlc_es_out.h:46
vlc_meta_SetNowPlaying
#define vlc_meta_SetNowPlaying(meta, b)
Definition: vlc_meta.h:124
DEMUX_GET_TIME
@ DEMUX_GET_TIME
Definition: vlc_demux.h:189
DEMUX_SET_GROUP_ALL
@ DEMUX_SET_GROUP_ALL
Definition: vlc_demux.h:210
video_format_t::projection_mode
video_projection_mode_t projection_mode
Multiview left or right eye first.
Definition: vlc_es.h:381
iso639_lang_t::psz_iso639_2B
const char psz_iso639_2B[4]
Definition: vlc_iso_lang.h:35
vlc_fourcc_GetCodec
vlc_fourcc_t vlc_fourcc_GetCodec(int cat, vlc_fourcc_t fourcc)
It returns the codec associated to a fourcc within an ES category.
Definition: fourcc.c:112
input_item_SetPublisher
static void input_item_SetPublisher(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:315
video_format_t::i_frame_rate
unsigned int i_frame_rate
frame rate numerator
Definition: vlc_es.h:366
es_out_callbacks::priv_control
int(* priv_control)(es_out_t *, int query, va_list)
Private control callback, must be NULL for es_out created from modules.
Definition: vlc_es_out.h:140
es_out_sys_t::p_sout_record
sout_instance_t * p_sout_record
Definition: es_out.c:226
vlc_meta_Title
@ vlc_meta_Title
Definition: vlc_meta.h:35
es_format_category_e
es_format_category_e
ES Categories.
Definition: vlc_es.h:600
video_format_t::space
video_color_space_t space
YCbCr color space.
Definition: vlc_es.h:374
es_out_RestartEs
static int es_out_RestartEs(es_out_t *p_out, vlc_es_id_t *id)
Definition: es_out.h:130
ES_OUT_PRIV_SET_MODE
@ ES_OUT_PRIV_SET_MODE
Definition: es_out.h:41
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:144
es_out_sys_t::i_pts_jitter
vlc_tick_t i_pts_jitter
Definition: es_out.c:208
VLC_VOUT_ORDER_NONE
@ VLC_VOUT_ORDER_NONE
Definition: vlc_vout.h:72
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:185
vlc_clock_main_SetInputDejitter
void vlc_clock_main_SetInputDejitter(vlc_clock_main_t *main_clock, vlc_tick_t delay)
Definition: clock.c:427
es_format_t::p_extra_languages
extra_languages_t * p_extra_languages
extra language data needed by some decoders
Definition: vlc_es.h:639
input_item_GetArtURL
#define input_item_GetArtURL
Definition: vlc_input_item.h:331
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
vlc_input_event_vout::action
enum vlc_input_event_vout::@35 action
es_out_t
Definition: vlc_es_out.h:143
input_item_SetEpgTime
void input_item_SetEpgTime(input_item_t *, int64_t)
Definition: item.c:983
vlc_demux_chained_t::thread
vlc_thread_t thread
Definition: demux_chained.c:61
es_out_pgrm_t::b_selected
bool b_selected
Definition: es_out.c:99
COLOR_SPACE_BT2020
@ COLOR_SPACE_BT2020
Definition: vlc_es.h:316
vlc_clock_main_Reset
void vlc_clock_main_Reset(vlc_clock_main_t *main_clock)
Reset the vlc_clock_main_t.
Definition: clock.c:404
ES_OUT_PRIV_SET_JITTER
@ ES_OUT_PRIV_SET_JITTER
Definition: es_out.h:87
vlc_assert_unreachable
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
es_out_sys_t::i_group_id
int i_group_id
Definition: es_out.c:199
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:194
EsOutSelectList
static void EsOutSelectList(es_out_t *, enum es_format_category_e cat, vlc_es_id_t *const *es_id_list)
Definition: es_out.c:2744
var_GetString
static char * var_GetString(vlc_object_t *p_obj, const char *psz_name)
Get a string value.
Definition: vlc_variables.h:437
aout_FormatPrintChannels
const char * aout_FormatPrintChannels(const audio_sample_format_t *p_format)
Definition: common.c:105
es_out_sys_t::i_buffering_extra_stream
vlc_tick_t i_buffering_extra_stream
Definition: es_out.c:222
input_thread_private_t::b_low_delay
bool b_low_delay
Definition: input_internal.h:489
config_GetUserDir
char * config_GetUserDir(vlc_userdir_t type)
Definition: specific.c:273
es_out_id_t::psz_language_code
char * psz_language_code
Definition: es_out.c:127
TRANSFER_FUNC_SRGB
@ TRANSFER_FUNC_SRGB
Definition: vlc_es.h:292
EsOutProgramDel
static int EsOutProgramDel(es_out_t *out, input_source_t *source, int i_group)
Definition: es_out.c:1525
input_SendEventProgramUpdated
static void input_SendEventProgramUpdated(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.h:196
decoder_get_attachments
static int decoder_get_attachments(vlc_input_decoder_t *decoder, input_attachment_t ***ppp_attachment, void *userdata)
Definition: es_out.c:443
es_out_id_t::type
vlc_fourcc_t type
Definition: es_out.c:144
EsOutEsUpdateFmt
static int EsOutEsUpdateFmt(es_out_t *out, es_out_id_t *es, const es_format_t *fmt)
Definition: es_out.c:4072
block_t::p_next
block_t * p_next
Definition: vlc_block.h:119
EsOutDel
static void EsOutDel(es_out_t *, es_out_id_t *)
Definition: es_out.c:3038
COLOR_PRIMARIES_BT470_M
#define COLOR_PRIMARIES_BT470_M
Definition: vlc_es.h:281
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:354
EsOutDelete
static void EsOutDelete(es_out_t *out)
Definition: es_out.c:638
es_out_SetRate
static int es_out_SetRate(es_out_t *p_out, float source_rate, float rate)
Definition: es_out.h:198
input_rate_Add
void input_rate_Add(input_rate_t *, uintmax_t)
Update a counter element with new values.
Definition: stats.c:121
vlc_memstream_printf
int vlc_memstream_printf(struct vlc_memstream *ms, const char *fmt,...)
Appends a formatted string to a byte stream.
Definition: memstream.c:194
es_out_GetGroupForced
static int es_out_GetGroupForced(es_out_t *p_out)
Definition: es_out.h:221
vlc_tick_now
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
i_fourcc
vlc_fourcc_t i_fourcc
Definition: vlc_codecs.h:316
EsOutDrainDecoder
static void EsOutDrainDecoder(es_out_t *out, es_out_id_t *es)
Definition: es_out.c:2948
input_clock_SetJitter
void input_clock_SetJitter(input_clock_t *cl, vlc_tick_t i_pts_delay, int i_cr_average)
This function allows the set the minimal configuration for the jitter estimation algo.
Definition: input_clock.c:428
es_format_t::i_extra_languages
unsigned i_extra_languages
length in bytes of extra language data pointer
Definition: vlc_es.h:638
vlc_stream_fifo
Definition: stream_fifo.c:37
COLOR_PRIMARIES_UNDEF
@ COLOR_PRIMARIES_UNDEF
Definition: vlc_es.h:268
EsOutDecodersIsEmpty
static bool EsOutDecodersIsEmpty(es_out_t *out)
Definition: es_out.c:730
es_format_t::audio_replay_gain
audio_replay_gain_t audio_replay_gain
Definition: vlc_es.h:644
EsOutProgramsChangeRate
static void EsOutProgramsChangeRate(es_out_t *out)
Definition: es_out.c:1139
audio_format_t::i_format
vlc_fourcc_t i_format
audio format fourcc
Definition: vlc_es.h:83
es_out_Control
static int es_out_Control(es_out_t *out, int i_query,...)
Definition: vlc_es_out.h:170
es_out_Eos
static void es_out_Eos(es_out_t *p_out)
Definition: es_out.h:228
block_Duplicate
static block_t * block_Duplicate(const block_t *p_block)
Duplicates a block.
Definition: vlc_block.h:223
es_out_es_props_t::b_autoselect
bool b_autoselect
Definition: es_out.c:165
es_out_id_t::psz_language
char * psz_language
Definition: es_out.c:126
input_clock_GetWakeup
vlc_tick_t input_clock_GetWakeup(input_clock_t *cl)
This functions will return a deadline used to control the reading speed.
Definition: input_clock.c:359
COLOR_PRIMARIES_MAX
#define COLOR_PRIMARIES_MAX
Definition: vlc_es.h:282
decoder_on_vout_stopped
static void decoder_on_vout_stopped(vlc_input_decoder_t *decoder, vout_thread_t *vout, void *userdata)
Definition: es_out.c:349
es_out_sys_t::i_preroll_end
vlc_tick_t i_preroll_end
Definition: es_out.c:217
DEMUX_GET_LENGTH
@ DEMUX_GET_LENGTH
Definition: vlc_demux.h:188
vlc_atomic_rc_inc
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
decoder_on_new_video_stats
static void decoder_on_new_video_stats(vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned displayed, unsigned late, void *userdata)
Definition: es_out.c:391
es_format_t
Definition: vlc_es.h:617
ES_OUT_PRIV_SET_FRAME_NEXT
@ ES_OUT_PRIV_SET_FRAME_NEXT
Definition: es_out.h:81
vlc_es_id_GetSource
const input_source_t * vlc_es_id_GetSource(vlc_es_id_t *id)
Definition: es_out.c:4543
es_out_sys_t::sub
es_out_es_props_t sub
Definition: es_out.c:196
es_out_id_t::p_master
es_out_id_t * p_master
Definition: es_out.c:150
vlc_memstream.h
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
vlc_es_id_GetStrId
const char * vlc_es_id_GetStrId(vlc_es_id_t *id)
Get the unique string identifier.
Definition: es_out.c:4532
audio_replay_gain_t::pb_peak
bool pb_peak[(2)]
Definition: vlc_es.h:58
es_out_es_props_t::i_channel
int i_channel
Definition: es_out.c:168
vlc_list_remove
static void vlc_list_remove(struct vlc_list *restrict node)
Removes an element from a list.
Definition: vlc_list.h:135
vlc_list_append
static void vlc_list_append(struct vlc_list *restrict node, struct vlc_list *head)
Appends an element into a list.
Definition: vlc_list.h:110
EsOutSelectHasExplicitParams
static bool EsOutSelectHasExplicitParams(const es_out_es_props_t *p_esprops)
Definition: es_out.c:2517
block_t::i_flags
uint32_t i_flags
Definition: vlc_block.h:126
subpicture_t
Video subtitle.
Definition: vlc_subpicture.h:166
config_StringEscape
char * config_StringEscape(const char *str)
This function will escape a string that can be unescaped by config_StringUnescape.
Definition: chain.c:473
foreach_es_then_es_slaves
#define foreach_es_then_es_slaves(pos)
Definition: es_out.c:321
vlc_meta_ArtworkURL
@ vlc_meta_ArtworkURL
Definition: vlc_meta.h:51
es_out_id_t::b_scrambled
bool b_scrambled
Definition: es_out.c:116
EsOutPropsCleanup
static void EsOutPropsCleanup(es_out_es_props_t *p_props)
Definition: es_out.c:485
vlc_fourcc.h
video_format_t::chroma_location
video_chroma_location_t chroma_location
YCbCr chroma location.
Definition: vlc_es.h:376
es_format_t::i_cat
enum es_format_category_e i_cat
ES category.
Definition: vlc_es.h:619
vlc_es_id_get_out
es_out_id_t * vlc_es_id_get_out(vlc_es_id_t *id)
Definition: es_out.c:4501
input_item_SetEpgEvent
void input_item_SetEpgEvent(input_item_t *p_item, const vlc_epg_event_t *p_epg_evt)
Definition: item.c:834
es_out_sys_t::i_buffering_extra_initial
vlc_tick_t i_buffering_extra_initial
Definition: es_out.c:221
input_thread_private_t::p_item
input_item_t * p_item
Definition: input_internal.h:512
ES_OUT_MODE_ALL
@ ES_OUT_MODE_ALL
Definition: es_out.h:53
vlc_es_id_GetInputId
int vlc_es_id_GetInputId(vlc_es_id_t *id)
Get the ES track input id.
Definition: es_out.c:4520
vlc_viewpoint_t::yaw
float yaw
Definition: vlc_viewpoint.h:42
vlc_decoder.h
input_thread_private_t
Private input fields.
Definition: input_internal.h:465
ES_OUT_SET_ES
@ ES_OUT_SET_ES
Definition: vlc_es_out.h:41
demux_New
demux_t * demux_New(vlc_object_t *p_obj, const char *psz_name, stream_t *s, es_out_t *out)
Definition: demux.c:72
vlc_meta_Delete
void vlc_meta_Delete(vlc_meta_t *m)
Definition: meta.c:108
vlc_viewpoint_t::roll
float roll
Definition: vlc_viewpoint.h:44
es_format_t::i_original_fourcc
vlc_fourcc_t i_original_fourcc
original FOURCC from the container
Definition: vlc_es.h:621
VLC_TICK_INVALID
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
LanguageGetName
static char * LanguageGetName(const char *psz_code)
Definition: es_out.c:3945
input_SendEventProgramAdd
static void input_SendEventProgramAdd(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.h:184
es_out_sys_t::i_tracks_pts_delay
vlc_tick_t i_tracks_pts_delay
Definition: es_out.c:207
es_format_t::i_group
int i_group
group identifier, where means: -1 : standalone >= 0 then a "group" (program) is created for each valu...
Definition: vlc_es.h:626
CHROMA_LOCATION_BOTTOM_CENTER
@ CHROMA_LOCATION_BOTTOM_CENTER
Definition: vlc_es.h:334
vlc_list_is_empty
static bool vlc_list_is_empty(const struct vlc_list *head)
Checks if a list is empty.
Definition: vlc_list.h:167
TAB_APPEND
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:79
EsOutAddLocked
static es_out_id_t * EsOutAddLocked(es_out_t *out, input_source_t *source, const es_format_t *fmt, es_out_id_t *p_master)
Definition: es_out.c:2048
input_clock_Update
vlc_tick_t input_clock_Update(input_clock_t *cl, vlc_object_t *p_log, bool b_can_pace_control, bool b_buffering_allowed, vlc_tick_t i_ck_stream, vlc_tick_t i_ck_system)
This function will update a input_clock_t with a new clock reference point.
Definition: input_clock.c:217
vlc_iso_lang.h
input_clock_GetRate
float input_clock_GetRate(input_clock_t *cl)
This function returns the current rate.
Definition: input_clock.c:373
EsOutGetBuffering
static vlc_tick_t EsOutGetBuffering(es_out_t *out)
Definition: es_out.c:1215
vlc_input_decoder_StartWait
void vlc_input_decoder_StartWait(vlc_input_decoder_t *p_owner)
This function makes the decoder start waiting for a valid data block from its fifo.
Definition: decoder.c:2478
input_SendEventEs
static void input_SendEventEs(input_thread_t *p_input, const struct vlc_input_event_es *es_event)
Definition: event.h:243
EsOutIsProgramVisible
static bool EsOutIsProgramVisible(es_out_t *out, input_source_t *source, int i_group)
Definition: es_out.c:1331
vlc_memstream_putc
int vlc_memstream_putc(struct vlc_memstream *ms, int c)
Appends a single byte to a byte stream.
Definition: memstream.c:151
vlc_list.h
vlc_meta_New
vlc_meta_t * vlc_meta_New(void)
vlc_meta contructor.
Definition: meta.c:90
input_clock_GetJitter
vlc_tick_t input_clock_GetJitter(input_clock_t *cl)
This function returns an estimation of the pts_delay needed to avoid rebufferization.
Definition: input_clock.c:463
input_thread_private_t::i_jitter_max
vlc_tick_t i_jitter_max
Definition: input_internal.h:490
input_thread_private_t::b_out_pace_control
bool b_out_pace_control
Definition: input_internal.h:493
vlc_thread_t
Thread handle.
Definition: vlc_threads.h:180
input_source_t
Definition: input_internal.h:373
es_out_pgrm_t::i_id
int i_id
Definition: es_out.c:94
VLC_CLOCK_MASTER_MONOTONIC
@ VLC_CLOCK_MASTER_MONOTONIC
Definition: clock.h:46
ES_OUT_SET_ES_STATE
@ ES_OUT_SET_ES_STATE
Definition: vlc_es_out.h:50
strtok_r
char * strtok_r(char *, const char *, char **)
EsDeleteCCChannels
static void EsDeleteCCChannels(es_out_t *out, es_out_id_t *parent)
Definition: es_out.c:2442
audio_replay_gain_t::pf_gain
float pf_gain[(2)]
Definition: vlc_es.h:65
GetLang_2T
const iso639_lang_t * GetLang_2T(const char *psz_code)
Definition: iso_lang.c:57
es_out_GetBuffering
static bool es_out_GetBuffering(es_out_t *p_out)
Definition: es_out.h:164
stream_t
stream_t definition
Definition: vlc_stream.h:46
vlc_input_decoder_Flush
void vlc_input_decoder_Flush(vlc_input_decoder_t *p_owner)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2298
MULTIVIEW_STEREO_FRAME
@ MULTIVIEW_STEREO_FRAME
Definition: vlc_es.h:244
block_t::i_pts
vlc_tick_t i_pts
Definition: vlc_block.h:129
input_stats::demux_bitrate
input_rate_t demux_bitrate
Definition: input_internal.h:732
CHROMA_LOCATION_MAX
#define CHROMA_LOCATION_MAX
Definition: vlc_es.h:335
es_format_t::audio
audio_format_t audio
description of audio format
Definition: vlc_es.h:643
es_out_es_props_t::str_ids
char * str_ids
Definition: es_out.c:166
EsOutProgramHandleClockSource
static void EsOutProgramHandleClockSource(es_out_t *out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1277
vlc_input_decoder_SetSpuHighlight
int vlc_input_decoder_SetSpuHighlight(vlc_input_decoder_t *p_owner, const vlc_spu_highlight_t *spu_hl)
Definition: decoder.c:2674
es_out_id_t::i_bitmap
uint64_t i_bitmap
Definition: es_out.c:145
es_out_sys_t::es_slaves
struct vlc_list es_slaves
Definition: es_out.c:190
vlc_clock_main_ChangePause
void vlc_clock_main_ChangePause(vlc_clock_main_t *main_clock, vlc_tick_t now, bool paused)
This function allows changing the pause status.
Definition: clock.c:443
es_out_callbacks
Definition: vlc_es_out.h:130
EsOutIsExtraBufferingAllowed
static bool EsOutIsExtraBufferingAllowed(es_out_t *out)
Definition: es_out.c:1084
es_out_sys_t::p_pgrm
es_out_pgrm_t * p_pgrm
Definition: es_out.c:183
vlc_clock_t
Definition: clock.c:62
ES_OUT_GET_EMPTY
@ ES_OUT_GET_EMPTY
Definition: vlc_es_out.h:93
es_out_id_t
Definition: es_out.c:105
es_out_id_t::master
bool master
Definition: es_out.c:136
event.h
GetLang_1
const iso639_lang_t * GetLang_1(const char *psz_code)
Definition: iso_lang.c:46
EsOutPropsInit
static void EsOutPropsInit(es_out_es_props_t *p_props, bool autoselect, input_thread_t *p_input, enum es_out_policy_e e_default_policy, const char *psz_trackidvar, const char *psz_trackvar, const char *psz_langvar, const char *psz_debug)
Definition: es_out.c:496
input_clock_ChangeSystemOrigin
void input_clock_ChangeSystemOrigin(input_clock_t *cl, bool b_absolute, vlc_tick_t i_system)
This function allows rebasing the original system value date (a valid reference point must have been ...
Definition: input_clock.c:394
es_out_pgrm_t::p_meta
vlc_meta_t * p_meta
Definition: es_out.c:109
CHROMA_LOCATION_TOP_LEFT
@ CHROMA_LOCATION_TOP_LEFT
Definition: vlc_es.h:331
static_assert
#define static_assert
Definition: vlc_fixups.h:370
ES_OUT_PRIV_RESTART_ES
@ ES_OUT_PRIV_RESTART_ES
Definition: es_out.h:46
input_item_SetEpg
void input_item_SetEpg(input_item_t *p_item, const vlc_epg_t *p_epg, bool)
Definition: item.c:886
es_out_pgrm_t::source
input_source_t * source
Definition: es_out.c:91
vlc_demux_chained_t::lock
vlc_mutex_t lock
Definition: demux_chained.c:62
EsOutUnselectEs
static void EsOutUnselectEs(es_out_t *out, es_out_id_t *es, bool b_update)
Definition: es_out.c:2469
es_out_es_props_t::ppsz_language
char ** ppsz_language
Definition: es_out.c:169
video_format_t::i_visible_height
unsigned int i_visible_height
height of visible area
Definition: vlc_es.h:359
input_stats::played_abuffers
atomic_uintmax_t played_abuffers
Definition: input_internal.h:737
vlc_es_id_GetCat
enum es_format_category_e vlc_es_id_GetCat(vlc_es_id_t *id)
Get the ES category.
Definition: es_out.c:4538
vlc_es_id_t
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:94
MULTIVIEW_STEREO_TB
@ MULTIVIEW_STEREO_TB
Definition: vlc_es.h:235
ES_OUT_SET_ES_FMT
@ ES_OUT_SET_ES_FMT
Definition: vlc_es_out.h:71
AUDIO_ES
@ AUDIO_ES
Definition: vlc_es.h:604
vlc_input_decoder_SetVbiPage
int vlc_input_decoder_SetVbiPage(vlc_input_decoder_t *owner, unsigned page)
Definition: decoder.c:2597
es_out_id_t::i_channel
int i_channel
Definition: es_out.c:119
video_format_t::pose
vlc_viewpoint_t pose
Definition: vlc_es.h:382
container_of
#define container_of(ptr, type, member)
Definition: vlc_common.h:1140
es_out_id_t::node
struct vlc_list node
Definition: es_out.c:152
es_out_pgrm_t::p_main_clock
vlc_clock_main_t * p_main_clock
Definition: es_out.c:104
es_out_id_t::fmt
es_format_t fmt
Definition: es_out.c:124
MULTIVIEW_2D
@ MULTIVIEW_2D
Definition: vlc_es.h:229
vlc_input_event_vout
Definition: input_internal.h:250
es_out_sys_t::i_prev_stream_level
int i_prev_stream_level
Definition: es_out.c:229
clock_source_mapping::key
char key[sizeof("monotonic")]
Definition: es_out.c:269
PROJECTION_MODE_CUBEMAP_LAYOUT_STANDARD
@ PROJECTION_MODE_CUBEMAP_LAYOUT_STANDARD
Definition: vlc_es.h:260
input_item_CreateFilename
char * input_item_CreateFilename(input_item_t *item, const char *dir, const char *filenamefmt, const char *ext)
This function creates a sane filename path.
Definition: item.c:1317
vlc_clock_cbs
Callbacks for the owner of the main clock.
Definition: clock.h:37
es_out_StopAllEs
static int es_out_StopAllEs(es_out_t *p_out, vlc_es_id_t ***context)
Definition: es_out.h:156
UNKNOWN_ES
@ UNKNOWN_ES
Definition: vlc_es.h:602
vlc_input_decoder_Drain
void vlc_input_decoder_Drain(vlc_input_decoder_t *p_owner)
Signals that there are no further blocks to decode, and requests that the decoder drain all pending b...
Definition: decoder.c:2286
es_out_SetFrameNext
static int es_out_SetFrameNext(es_out_t *p_out)
Definition: es_out.h:202
iso639_lang_t::psz_iso639_2T
const char psz_iso639_2T[4]
Definition: vlc_iso_lang.h:34
vlc_epg_t
Definition: vlc_epg.h:51
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
ClockUpdate
static void ClockUpdate(vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base, void *data)
Definition: es_out.c:2223
vlc_demux_chained_t::time
vlc_tick_t time
Definition: demux_chained.c:68
es_out_id_t::pp_es
es_out_id_t * pp_es[64]
Definition: es_out.c:146
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:476
es_out_sys_t::i_audio_delay
vlc_tick_t i_audio_delay
Definition: es_out.c:202
vlc_input_decoder_New
vlc_input_decoder_t * vlc_input_decoder_New(vlc_object_t *parent, es_format_t *fmt, vlc_clock_t *p_clock, input_resource_t *resource, sout_instance_t *p_sout, bool thumbnailing, const struct vlc_input_decoder_callbacks *cbs, void *cbs_userdata)
Spawns a new decoder thread from the input thread.
Definition: decoder.c:2122
VLC_THREAD_PRIORITY_INPUT
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:208
var_CreateGetNonEmptyString
static char * var_CreateGetNonEmptyString(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:570
sout_DeleteInstance
void sout_DeleteInstance(sout_instance_t *p_sout)
Definition: stream_output.c:137
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
IGNORE_ES
#define IGNORE_ES
sout_NewInstance
#define sout_NewInstance(a, b)
Definition: stream_output.h:42
es_out_sys_t::video
es_out_es_props_t video
Definition: es_out.c:196
iso639_lang_t
Definition: vlc_iso_lang.h:30
vlc_input_decoder_ChangePause
void vlc_input_decoder_ChangePause(vlc_input_decoder_t *p_owner, bool b_paused, vlc_tick_t i_date)
This function changes the pause state.
Definition: decoder.c:2450
EsGetTitle
static char * EsGetTitle(es_out_id_t *es)
Definition: es_out.c:584
vlc_fourcc_GetCodecAudio
vlc_fourcc_t vlc_fourcc_GetCodecAudio(vlc_fourcc_t i_fourcc, int i_bits)
It converts the given fourcc to an audio codec when possible.
Definition: fourcc.c:127
input_source_GetNewAutoId
int input_source_GetNewAutoId(input_source_t *in)
Get a new fmt.i_id from the input source.
Definition: input.c:2856
input_item_DelInfo
int input_item_DelInfo(input_item_t *p_i, const char *psz_cat, const char *psz_name)
Definition: item.c:759
input_SendEventCache
static void input_SendEventCache(input_thread_t *p_input, double f_level)
Definition: event.h:144
es_out_sys_t::i_pts_delay
vlc_tick_t i_pts_delay
Definition: es_out.c:206
vlc_audio_replay_gain_MergeFromMeta
void vlc_audio_replay_gain_MergeFromMeta(audio_replay_gain_t *p_dst, const vlc_meta_t *p_meta)
Definition: meta.c:274
TRANSFER_FUNC_HLG
@ TRANSFER_FUNC_HLG
Definition: vlc_es.h:298
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
es_out_PrivControl
static int es_out_PrivControl(es_out_t *out, int query,...)
Definition: es_out.h:108
input_EsOutSourceNew
es_out_t * input_EsOutSourceNew(es_out_t *master_out, input_source_t *in)
Definition: es_out_source.c:80
EsOutTerminate
static void EsOutTerminate(es_out_t *)
Definition: es_out.c:664
vlc_input_event::type
input_event_type_e type
Definition: input_internal.h:263
vlc_es_id_GetSource
const input_source_t * vlc_es_id_GetSource(vlc_es_id_t *id)
Definition: es_out.c:4543
es_out_SetRecordState
static int es_out_SetRecordState(es_out_t *p_out, bool b_record)
Definition: es_out.h:190
ES_OUT_RESET_PCR
@ ES_OUT_RESET_PCR
Definition: vlc_es_out.h:67
COLOR_SPACE_UNDEF
@ COLOR_SPACE_UNDEF
Definition: vlc_es.h:313
input_EsOutTimeshiftNew
es_out_t * input_EsOutTimeshiftNew(input_thread_t *, es_out_t *, float i_rate)
Definition: es_out_timeshift.c:332
COLOR_SPACE_BT709
@ COLOR_SPACE_BT709
Definition: vlc_es.h:315
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:358
strdup
char * strdup(const char *)
ES_OUT_SET_PCR
@ ES_OUT_SET_PCR
Definition: vlc_es_out.h:65
vlc_epg_event_t::psz_name
char * psz_name
Definition: vlc_epg.h:38
var_InheritInteger
static int64_t var_InheritInteger(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:685
decoder_cc_desc_t::i_708_channels
uint64_t i_708_channels
Definition: vlc_codec.h:208
EsOutProgramEpg
static void EsOutProgramEpg(es_out_t *out, input_source_t *source, int i_group, const vlc_epg_t *p_epg)
Definition: es_out.c:1762
es_out_id_t::p_dec_record
vlc_input_decoder_t * p_dec_record
Definition: es_out.c:132
ES_OUT_PRIV_SET_ES_LIST
@ ES_OUT_PRIV_SET_ES_LIST
Definition: es_out.h:52
VLC_TICK_FROM_MS
#define VLC_TICK_FROM_MS(ms)
Definition: vlc_tick.h:122
COLOR_PRIMARIES_BT601_625
@ COLOR_PRIMARIES_BT601_625
Definition: vlc_es.h:270
vlc_epg_t::b_present
bool b_present
Definition: vlc_epg.h:58
es_out_sys_t::programs
struct vlc_list programs
Definition: es_out.c:182
psz_value
char psz_value[8]
Definition: vout_intf.c:99
vlc_epg_t::i_source_id
uint16_t i_source_id
Definition: vlc_epg.h:55
CHROMA_LOCATION_TOP_CENTER
@ CHROMA_LOCATION_TOP_CENTER
Definition: vlc_es.h:332
es_out_SetVbiPage
static int es_out_SetVbiPage(es_out_t *p_out, vlc_es_id_t *id, unsigned page)
Definition: es_out.h:233
ES_OUT_ES_POLICY_SIMULTANEOUS
@ ES_OUT_ES_POLICY_SIMULTANEOUS
Definition: vlc_es_out.h:124
input_item_SetEpgOffline
void input_item_SetEpgOffline(input_item_t *)
Definition: item.c:990
vlc_input_decoder_GetCcState
int vlc_input_decoder_GetCcState(vlc_input_decoder_t *p_owner, vlc_fourcc_t codec, int i_channel, bool *pb_decode)
This function returns an error if the requested channel does not exist and set pb_decode to the chann...
Definition: decoder.c:2438
ES_OUT_PRIV_SET_ES_DELAY
@ ES_OUT_PRIV_SET_ES_DELAY
Definition: es_out.h:66
EsInfoCategoryName
static char * EsInfoCategoryName(es_out_id_t *es)
Definition: es_out.c:1604
vlc_es_id_Hold
vlc_es_id_t * vlc_es_id_Hold(vlc_es_id_t *id)
Increase the ES track id reference count.
Definition: es_out.c:4507
es_format_t::i_codec
vlc_fourcc_t i_codec
FOURCC value as used in vlc.
Definition: vlc_es.h:620
input_priv
static input_thread_private_t * input_priv(input_thread_t *input)
Definition: input_internal.h:537
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:247
var_GetBool
static bool var_GetBool(vlc_object_t *p_obj, const char *psz_name)
Get a boolean value.
Definition: vlc_variables.h:390
vlc_input_decoder_SetCcState
int vlc_input_decoder_SetCcState(vlc_input_decoder_t *p_owner, vlc_fourcc_t codec, int i_channel, bool b_decode)
This function activates the request closed caption channel.
Definition: decoder.c:2383
vlc_assert
#define vlc_assert(pred)
Run-time assertion.
Definition: vlc_common.h:271
p_languages
static const iso639_lang_t p_languages[]
Definition: iso-639_def.h:37
input_thread_private_t::p_resource
input_resource_t * p_resource
Definition: input_internal.h:522
vlc_block.h
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
es_format_t::i_priority
int i_priority
priority, where means: -2 : mean not selectable by the users -1 : mean not selected by default even w...
Definition: vlc_es.h:630
es_out_id_t::b_terminated
bool b_terminated
Definition: es_out.c:129
demux.h
name
const char name[16]
Definition: httpd.c:1268
es_out_id_t::p_clock
vlc_clock_t * p_clock
Definition: es_out.c:133
MULTIVIEW_STEREO_MAX
#define MULTIVIEW_STEREO_MAX
Definition: vlc_es.h:249
vlc_demux_chained_t::name
char name[]
Definition: demux_chained.c:72
PROJECTION_MODE_EQUIRECTANGULAR
@ PROJECTION_MODE_EQUIRECTANGULAR
Definition: vlc_es.h:258
es_out_StartAllEs
static int es_out_StartAllEs(es_out_t *p_out, vlc_es_id_t **context)
Definition: es_out.h:160
vlc_es_id_t::source
input_source_t * source
Definition: es_out.c:100
VLC_CLOCK_MASTER_AUTO
@ VLC_CLOCK_MASTER_AUTO
Definition: clock.h:43
vlc_demux_chained_t
Definition: demux_chained.c:35
vlc_meta_Publisher
@ vlc_meta_Publisher
Definition: vlc_meta.h:49
entry
Definition: fourcc_gen.c:51
es_out_pgrm_t::b_scrambled
bool b_scrambled
Definition: es_out.c:100
input_ExtractAttachmentAndCacheArt
void input_ExtractAttachmentAndCacheArt(input_thread_t *, const char *name)
Definition: meta.c:204
ES_OUT_POST_SUBNODE
@ ES_OUT_POST_SUBNODE
Definition: vlc_es_out.h:102
VLC_FOURCC
#define VLC_FOURCC(a, b, c, d)
Definition: fourcc_gen.c:37
VLC_TICK_0
#define VLC_TICK_0
Definition: vlc_config.h:45
EsOutUpdateEsLanguageTitle
static void EsOutUpdateEsLanguageTitle(es_out_id_t *es, const es_format_t *fmt)
Definition: es_out.c:1937
ES_OUT_MODE_PARTIAL
@ ES_OUT_MODE_PARTIAL
Definition: es_out.h:55
EsOutGetClosedCaptionsChannel
static int EsOutGetClosedCaptionsChannel(const es_format_t *p_fmt)
Definition: es_out.c:309
vlc_vout_order
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:70
es_out_SetEs
static int es_out_SetEs(es_out_t *p_out, vlc_es_id_t *id)
Definition: es_out.h:122
EsOutProgramSearch
static es_out_pgrm_t * EsOutProgramSearch(es_out_t *p_out, input_source_t *source, int i_group)
Definition: es_out.c:1500
es_format_t::subs
subs_format_t subs
description of subtitle format
Definition: vlc_es.h:647
N_
#define N_(str)
Definition: vlc_fixups.h:375
input_stats::decoded_audio
atomic_uintmax_t decoded_audio
Definition: input_internal.h:735
vlc_clock_main_CreateSlave
vlc_clock_t * vlc_clock_main_CreateSlave(vlc_clock_main_t *main_clock, enum es_format_category_e cat, const struct vlc_clock_cbs *cbs, void *cbs_data)
This function creates a new slave vlc_clock_t interface.
Definition: clock.c:609
VLC_DOWNLOAD_DIR
@ VLC_DOWNLOAD_DIR
Definition: vlc_configuration.h:313
es_out_id_t::i_pts_level
vlc_tick_t i_pts_level
Definition: es_out.c:138
SPU_ES
@ SPU_ES
Definition: vlc_es.h:605
decoder_on_vout_started
static void decoder_on_vout_started(vlc_input_decoder_t *decoder, vout_thread_t *vout, enum vlc_vout_order order, void *userdata)
Definition: es_out.c:326
vlc_stream_fifo_Queue
int vlc_stream_fifo_Queue(vlc_stream_fifo_t *writer, block_t *block)
Writes a block to a FIFO stream.
Definition: stream_fifo.c:132
DEMUX_GET_POSITION
@ DEMUX_GET_POSITION
Definition: vlc_demux.h:184
EsHold
static void EsHold(es_out_id_t *es)
Definition: es_out.c:633
EsOutProgramChangePause
static void EsOutProgramChangePause(es_out_t *out, bool b_paused, vlc_tick_t i_date)
Definition: es_out.c:1108
vlc_input_decoder_Delete
void vlc_input_decoder_Delete(vlc_input_decoder_t *p_owner)
Kills a decoder thread and waits until it's finished.
Definition: decoder.c:2151
GetLang_2B
const iso639_lang_t * GetLang_2B(const char *psz_code)
Definition: iso_lang.c:68
TRANSFER_FUNC_UNDEF
@ TRANSFER_FUNC_UNDEF
Definition: vlc_es.h:290
EsOutSelectMatchExplicitParams
static bool EsOutSelectMatchExplicitParams(const es_out_es_props_t *p_esprops, const es_out_id_t *es)
Definition: es_out.c:2522
input_stats::lost_pictures
atomic_uintmax_t lost_pictures
Definition: input_internal.h:741
vlc_clock_main_SetFirstPcr
void vlc_clock_main_SetFirstPcr(vlc_clock_main_t *main_clock, vlc_tick_t system_now, vlc_tick_t ts)
Definition: clock.c:413
MULTIVIEW_STEREO_ROW
@ MULTIVIEW_STEREO_ROW
Definition: vlc_es.h:238
es_out_id_t::mouse_event_cb
vlc_mouse_event mouse_event_cb
Definition: es_out.c:154
EsOutChangeRate
static void EsOutChangeRate(es_out_t *out, float rate)
Definition: es_out.c:912
es_out_id_t::psz_title
char * psz_title
Definition: es_out.c:128
es_out_SetEsList
static int es_out_SetEsList(es_out_t *p_out, enum es_format_category_e cat, vlc_es_id_t **ids)
Definition: es_out.h:142
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:355
es_format_t::psz_language
char * psz_language
human-readable language name
Definition: vlc_es.h:636
var_GetInteger
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
ES_OUT_SET_GROUP_META
@ ES_OUT_SET_GROUP_META
Definition: vlc_es_out.h:76
TRANSFER_FUNC_SMPTE_240
@ TRANSFER_FUNC_SMPTE_240
Definition: vlc_es.h:297
vlc_list_foreach
#define vlc_list_foreach(pos, head, member)
List iteration macro.
Definition: vlc_list.h:261
input_stats::late_pictures
atomic_uintmax_t late_pictures
Definition: input_internal.h:740
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:133
input_clock_Reset
void input_clock_Reset(input_clock_t *cl)
This function will reset the drift of a input_clock_t.
Definition: input_clock.c:307
es_out_policy_e
es_out_policy_e
Definition: vlc_es_out.h:121
vlc_epg_t::p_current
const vlc_epg_event_t * p_current
Definition: vlc_epg.h:59
input_item_SetESNowPlaying
static void input_item_SetESNowPlaying(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:314
vlc_input_decoder_FrameNext
void vlc_input_decoder_FrameNext(vlc_input_decoder_t *p_owner, vlc_tick_t *pi_duration)
This function force the display of the next picture and fills the stream time consumed.
Definition: decoder.c:2524
es_out_id_t::i_pos
size_t i_pos
Definition: es_out.c:123
vlc_input_decoder_GetFifoSize
size_t vlc_input_decoder_GetFifoSize(vlc_input_decoder_t *p_owner)
This function returns the current size in bytes of the decoder fifo.
Definition: decoder.c:2577
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:122
video_format_t::i_frame_rate_base
unsigned int i_frame_rate_base
frame rate denominator
Definition: vlc_es.h:367
ES_OUT_MODE_AUTO
@ ES_OUT_MODE_AUTO
Definition: es_out.h:54
es_out_es_props_t::e_policy
enum es_out_policy_e e_policy
Definition: es_out.c:162
vlc_mouse_event
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition: vlc_mouse.h:62
EsOutSend
static int EsOutSend(es_out_t *out, es_out_id_t *es, block_t *p_block)
Send a block for the given es_out.
Definition: es_out.c:2834
block_t::i_dts
vlc_tick_t i_dts
Definition: vlc_block.h:130
vlc_demux_chained_Delete
void vlc_demux_chained_Delete(vlc_demux_chained_t *dc)
Destroys a chained demuxer.
Definition: demux_chained.c:163
item.h
demux_Demux
int demux_Demux(demux_t *demux)
Definition: demux.c:202
es_out_pgrm_t::node
struct vlc_list node
Definition: es_out.c:110
ES_OUT_SET_GROUP_PCR
@ ES_OUT_SET_GROUP_PCR
Definition: vlc_es_out.h:66
input_SendEvent
static void input_SendEvent(input_thread_t *p_input, const struct vlc_input_event *event)
Definition: event.h:30
EsOutGetSelectedCat
static es_out_id_t * EsOutGetSelectedCat(es_out_t *out, enum es_format_category_e cat)
Definition: es_out.c:718
vlc_demux_chained_t::position
double position
Definition: demux_chained.c:66
EsOutDelLocked
static void EsOutDelLocked(es_out_t *, es_out_id_t *)
Definition: es_out.c:2972
input_clock_Delete
void input_clock_Delete(input_clock_t *cl)
This function destroys a input_clock_t created by input_clock_New.
Definition: input_clock.c:195
input_item_t::pp_epg
vlc_epg_t ** pp_epg
EPG entries.
Definition: vlc_input_item.h:102
likely
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
es_out_sys_t::i_cr_average
int i_cr_average
Definition: es_out.c:209
vlc_input_event_vout::vout
vout_thread_t * vout
Definition: input_internal.h:256
es_out_sys_t::i_buffering_extra_system
vlc_tick_t i_buffering_extra_system
Definition: es_out.c:223
es_out_sys_t::i_pause_date
vlc_tick_t i_pause_date
Definition: es_out.c:214
COLOR_PRIMARIES_BT709
@ COLOR_PRIMARIES_BT709
Definition: vlc_es.h:271
ES_OUT_UNSET_ES
@ ES_OUT_UNSET_ES
Definition: vlc_es_out.h:42
video_format_t::multiview_mode
video_multiview_mode_t multiview_mode
Definition: vlc_es.h:378
vlc_meta_ESNowPlaying
@ vlc_meta_ESNowPlaying
Definition: vlc_meta.h:48
es_out_sys_t::i_spu_delay
vlc_tick_t i_spu_delay
Definition: es_out.c:203
decoder_cbs
static const struct vlc_input_decoder_callbacks decoder_cbs
Definition: es_out.c:459
EsOutSetEsDelay
static void EsOutSetEsDelay(es_out_t *out, es_out_id_t *es, vlc_tick_t delay)
Definition: es_out.c:752
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
EsOutFillEsFmt
static void EsOutFillEsFmt(es_out_t *out, es_format_t *fmt)
Definition: es_out.c:1950
vlc_aout.h
ES_OUT_SET_ES_CAT_POLICY
@ ES_OUT_SET_ES_CAT_POLICY
Definition: vlc_es_out.h:54
vlc_demux_chained_t::reader
stream_t * reader
Definition: demux_chained.c:59
ES_OUT_SET_GROUP_EPG
@ ES_OUT_SET_GROUP_EPG
Definition: vlc_es_out.h:78
video_format_t::lighting
struct video_format_t::@197 lighting
video_format_t::MaxCLL
uint16_t MaxCLL
Definition: vlc_es.h:392
input_SendEventParsing
static void input_SendEventParsing(input_thread_t *p_input, input_item_node_t *p_root)
Definition: event.h:252
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:55
TRANSFER_FUNC_BT709
@ TRANSFER_FUNC_BT709
Definition: vlc_es.h:295
COLOR_RANGE_LIMITED
@ COLOR_RANGE_LIMITED
Definition: vlc_es.h:342
ES_OUT_PRIV_SET_EOS
@ ES_OUT_PRIV_SET_EOS
Definition: es_out.h:93
EsOutProgramEpgEvent
static void EsOutProgramEpgEvent(es_out_t *out, input_source_t *source, int i_group, const vlc_epg_event_t *p_event)
Definition: es_out.c:1744
input_clock_AttachListener
void input_clock_AttachListener(input_clock_t *cl, vlc_clock_t *clock_listener)
This function attach a clock listener to the input clock.
Definition: input_clock.c:203
video_format_t::max_luminance
uint32_t max_luminance
Definition: vlc_es.h:387
BLOCK_FLAG_DISCONTINUITY
#define BLOCK_FLAG_DISCONTINUITY
The content doesn't follow the last block, possible some blocks in between have been lost.
Definition: vlc_block.h:67
input_thread_t
Main structure representing an input thread.
Definition: input_internal.h:48
TRANSFER_FUNC_SMPTE_ST2084
@ TRANSFER_FUNC_SMPTE_ST2084
Definition: vlc_es.h:296
input_item_SetTitle
static void input_item_SetTitle(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:300
input_item_node_t
Definition: vlc_input_item.h:194
es_out_es_props_t
Definition: es_out.c:158
vlc_clock_main_CreateInputMaster
vlc_clock_t * vlc_clock_main_CreateInputMaster(vlc_clock_main_t *main_clock)
This function creates a new input master vlc_clock_t interface.
Definition: clock.c:583
ES_OUT_PRIV_SET_RECORD_STATE
@ ES_OUT_PRIV_SET_RECORD_STATE
Definition: es_out.h:72
vlc_es_id_get_out
es_out_id_t * vlc_es_id_get_out(vlc_es_id_t *id)
Definition: es_out.c:4501
vlc_alloc
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
es_out_sys_t::i_id
int i_id
Definition: es_out.c:188
EsOutSetDelay
static void EsOutSetDelay(es_out_t *out, int i_cat, vlc_tick_t i_delay)
Definition: es_out.c:767
EsOutGetTracksDelay
static vlc_tick_t EsOutGetTracksDelay(es_out_t *out)
Definition: es_out.c:3057
es_out_sys_t::i_mode
int i_mode
Definition: es_out.c:194
vlc_demux_chained_ControlVa
int vlc_demux_chained_ControlVa(vlc_demux_chained_t *dc, int query, va_list ap)
Controls a chained demuxer.
Definition: demux_chained.c:138
EsOutProgramInsert
static es_out_pgrm_t * EsOutProgramInsert(es_out_t *p_out, input_source_t *source, int i_group)
Definition: es_out.c:1515
EsOutControlLocked
static int EsOutControlLocked(es_out_t *out, input_source_t *, int i_query,...)
Definition: es_out.c:3047
vlc_meta.h
vlc_input_decoder_Wait
void vlc_input_decoder_Wait(vlc_input_decoder_t *p_owner)
This function waits for the decoder to actually receive data.
Definition: decoder.c:2500
input_thread_private_t::b_preparsing
bool b_preparsing
Definition: input_internal.h:473
demux_Delete
static void demux_Delete(demux_t *demux)
Definition: vlc_demux.h:290
ES_OUT_PRIV_GET_GROUP_FORCED
@ ES_OUT_PRIV_GET_GROUP_FORCED
Definition: es_out.h:90
input_item_ReplaceInfos
void input_item_ReplaceInfos(input_item_t *p_item, info_category_t *p_cat)
Definition: item.c:795
input_internal.h
vlc_atomic_rc_init
static void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
Init the RC to 1.
Definition: vlc_atomic.h:46
vlc_demux_chained_Thread
static void * vlc_demux_chained_Thread(void *data)
Definition: demux_chained.c:54
block_Release
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
es_out_GetEmpty
static bool es_out_GetEmpty(es_out_t *p_out)
Definition: es_out.h:172
video_format_t::orientation
video_orientation_t orientation
picture orientation
Definition: vlc_es.h:371
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:151
input_clock_ChangeRate
void input_clock_ChangeRate(input_clock_t *cl, float rate)
This functions allows changing the actual reading speed.
Definition: input_clock.c:320
ES_OUT_PRIV_SET_RATE
@ ES_OUT_PRIV_SET_RATE
Definition: es_out.h:78
sout_instance_t
Stream output instance.
Definition: stream_output.h:33
EsOutSelect
static void EsOutSelect(es_out_t *, es_out_id_t *es, bool b_force)
Select an ES given the current mode XXX: you need to take a the lock before (stream....
Definition: es_out.c:2563
EsOutChangePause
static void EsOutChangePause(es_out_t *out, bool b_paused, vlc_tick_t i_date)
Definition: es_out.c:871
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
EsOutCreateCCChannels
static void EsOutCreateCCChannels(es_out_t *out, vlc_fourcc_t codec, uint64_t i_bitmap, const char *psz_descfmt, es_out_id_t *parent)
Definition: es_out.c:2787
EsOutUpdateInfo
static void EsOutUpdateInfo(es_out_t *, es_out_id_t *es, const vlc_meta_t *)
Definition: es_out.c:4129
es_format_Copy
int es_format_Copy(es_format_t *restrict dst, const es_format_t *src)
Definition: es_format.c:436
EsOutProgramUpdateScrambled
static void EsOutProgramUpdateScrambled(es_out_t *p_out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1851
es_out_id_t::mouse_event_userdata
void * mouse_event_userdata
Definition: es_out.c:155
vlc_atomic_rc_t
Definition: vlc_atomic.h:41
es_out_id_t::id
vlc_es_id_t id
Definition: es_out.c:107
block_t
Definition: vlc_block.h:117
es_out_UnsetEs
static int es_out_UnsetEs(es_out_t *p_out, vlc_es_id_t *id)
Definition: es_out.h:126
subs_format_t::cc
struct subs_format_t::@201 cc
vlc_input_decoder_StopWait
void vlc_input_decoder_StopWait(vlc_input_decoder_t *p_owner)
This function exits the waiting mode of the decoder.
Definition: decoder.c:2490
ES_OUT_MODE_NONE
@ ES_OUT_MODE_NONE
Definition: es_out.h:52
input_item_UpdateTracksInfo
void input_item_UpdateTracksInfo(input_item_t *item, const es_format_t *fmt)
Definition: item.c:1288
decoder_on_thumbnail_ready
static void decoder_on_thumbnail_ready(vlc_input_decoder_t *decoder, picture_t *pic, void *userdata)
Definition: es_out.c:371
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
vlc_es_id_IsStrIdStable
bool vlc_es_id_IsStrIdStable(vlc_es_id_t *id)
Return whether the ES track identifier is stable.
Definition: es_out.c:4526
audio_replay_gain_t::pb_gain
bool pb_gain[(2)]
Definition: vlc_es.h:63
subs_format_t::i_channel
uint8_t i_channel
Definition: vlc_es.h:582
ES_OUT_VOUT_ADD_OVERLAY
@ ES_OUT_VOUT_ADD_OVERLAY
Definition: vlc_es_out.h:108
VLC_MUSIC_DIR
@ VLC_MUSIC_DIR
Definition: vlc_configuration.h:317
vlc_input_decoder_t
Definition: decoder.c:66
VLC_CODEC_CEA708
#define VLC_CODEC_CEA708
Definition: vlc_fourcc.h:614
ES_OUT_PRIV_GET_BUFFERING
@ ES_OUT_PRIV_GET_BUFFERING
Definition: es_out.h:63
video_format_t::min_luminance
uint32_t min_luminance
Definition: vlc_es.h:388
EsOutSelectEs
static void EsOutSelectEs(es_out_t *out, es_out_id_t *es, bool b_force)
Definition: es_out.c:2340
decoder.h
vlc_viewpoint_t::pitch
float pitch
Definition: vlc_viewpoint.h:43
EsOutProgramGetMetaName
static char * EsOutProgramGetMetaName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1572
vlc_demux_chained_New
vlc_demux_chained_t * vlc_demux_chained_New(vlc_object_t *parent, const char *name, es_out_t *out)
Creates a chained demuxer.
Definition: demux_chained.c:100
es_out_sys_t::rate
float rate
Definition: es_out.c:210
EsOutVaPrivControlLocked
static int EsOutVaPrivControlLocked(es_out_t *out, int query, va_list args)
Definition: es_out.c:3592
input_clock_New
input_clock_t * input_clock_New(float rate)
This function creates a new input_clock_t.
Definition: input_clock.c:162
COLOR_RANGE_MAX
#define COLOR_RANGE_MAX
Definition: vlc_es.h:344
EsOutSelectMatchPrioritized
static bool EsOutSelectMatchPrioritized(const es_out_es_props_t *p_esprops, const es_out_id_t *es)
Definition: es_out.c:2503
es_out_id_t::rc
vlc_atomic_rc_t rc
Definition: es_out.c:121
input_item_ChangeEPGSource
void input_item_ChangeEPGSource(input_item_t *p_item, int i_source_id)
Definition: item.c:963
MULTIVIEW_STEREO_SBS
@ MULTIVIEW_STEREO_SBS
Definition: vlc_es.h:232
ES_OUT_RESTART_ES
@ ES_OUT_RESTART_ES
Definition: vlc_es_out.h:43
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
vlc_demux_chained_t::out
es_out_t * out
Definition: demux_chained.c:71
COLOR_PRIMARIES_DCI_P3
@ COLOR_PRIMARIES_DCI_P3
Definition: vlc_es.h:273
vlc_viewpoint_t::fov
float fov
Definition: vlc_viewpoint.h:45
VLC_CODEC_CEA608
#define VLC_CODEC_CEA608
Definition: vlc_fourcc.h:613
ES_OUT_PRIV_SET_ES_CAT_IDS
@ ES_OUT_PRIV_SET_ES_CAT_IDS
Definition: es_out.h:54
vlc_es_id_t::str_id
char * str_id
Definition: es_out.c:102
EsOutProgramGetProgramName
static char * EsOutProgramGetProgramName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1589
clock_source_mapping
Definition: es_out.c:267