VLC  3.0.15
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  * $Id: 8f202266e8317f80e1e230678f785f9e606c347f $
7  *
8  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24 
25 #ifndef LIBVLC_INPUT_ES_OUT_H
26 #define LIBVLC_INPUT_ES_OUT_H 1
27 
28 #include <vlc_common.h>
29 
30 enum es_out_mode_e
31 {
32  ES_OUT_MODE_NONE, /* don't select anything */
33  ES_OUT_MODE_ALL, /* eg for stream output */
34  ES_OUT_MODE_AUTO, /* best audio/video or for input follow audio-track, sub-track */
35  ES_OUT_MODE_PARTIAL,/* select programs given after --programs */
36  ES_OUT_MODE_END /* mark the es_out as dead */
37 };
38 
40 {
41  /* set/get mode */
42  ES_OUT_SET_MODE = ES_OUT_PRIVATE_START, /* arg1= int */
43 
44  /* Get date to wait before demuxing more data */
45  ES_OUT_GET_WAKE_UP, /* arg1=mtime_t* res=cannot fail */
46 
47  /* Wrapper for some ES command to work with id */
51  ES_OUT_GET_ES_OBJECTS_BY_ID, /* arg1=int id, vlc_object_t **dec, vout_thread_t **, audio_output_t ** res=can fail*/
52 
53  /* Stop all selected ES and save the stopped state in a context. free the
54  * context or call ES_OUT_STOP_ALL_ES */
55  ES_OUT_STOP_ALL_ES, /* arg1=void ** */
56  /* Start all ES from the context returned by ES_OUT_STOP_ALL_ES */
57  ES_OUT_START_ALL_ES, /* arg1=void * */
58 
59  /* Get buffering state */
60  ES_OUT_GET_BUFFERING, /* arg1=bool* res=cannot fail */
61 
62  /* Set delay for a ES category */
63  ES_OUT_SET_DELAY, /* arg1=es_category_e, res=cannot fail */
64 
65  /* Set record state */
66  ES_OUT_SET_RECORD_STATE, /* arg1=bool res=can fail */
67 
68  /* Set pause state */
69  ES_OUT_SET_PAUSE_STATE, /* arg1=bool b_source_paused, bool b_paused arg2=mtime_t res=can fail */
70 
71  /* Set rate */
72  ES_OUT_SET_RATE, /* arg1=int i_source_rate arg2=int i_rate res=can fail */
73 
74  /* Set a new time */
75  ES_OUT_SET_TIME, /* arg1=mtime_t res=can fail */
76 
77  /* Set next frame */
78  ES_OUT_SET_FRAME_NEXT, /* res=can fail */
79 
80  /* Set position/time/length */
81  ES_OUT_SET_TIMES, /* arg1=double f_position arg2=mtime_t i_time arg3=mtime_t i_length res=cannot fail */
82 
83  /* Set jitter */
84  ES_OUT_SET_JITTER, /* arg1=mtime_t i_pts_delay arg2= mtime_t i_pts_jitter, arg2=int i_cr_average res=cannot fail */
85 
86  /* Get forced group */
87  ES_OUT_GET_GROUP_FORCED, /* arg1=int * res=cannot fail */
88 
89  /* Set End Of Stream */
90  ES_OUT_SET_EOS, /* res=cannot fail */
91 };
92 
93 static inline void es_out_SetMode( es_out_t *p_out, int i_mode )
94 {
95  int i_ret = es_out_Control( p_out, ES_OUT_SET_MODE, i_mode );
96  assert( !i_ret );
97 }
98 static inline mtime_t es_out_GetWakeup( es_out_t *p_out )
99 {
100  mtime_t i_wu;
101  int i_ret = es_out_Control( p_out, ES_OUT_GET_WAKE_UP, &i_wu );
102 
103  assert( !i_ret );
104  return i_wu;
105 }
106 static inline bool es_out_GetBuffering( es_out_t *p_out )
107 {
108  bool b;
109  int i_ret = es_out_Control( p_out, ES_OUT_GET_BUFFERING, &b );
110 
111  assert( !i_ret );
112  return b;
113 }
114 static inline bool es_out_GetEmpty( es_out_t *p_out )
115 {
116  bool b;
117  int i_ret = es_out_Control( p_out, ES_OUT_GET_EMPTY, &b );
118 
119  assert( !i_ret );
120  return b;
121 }
122 static inline void es_out_SetDelay( es_out_t *p_out, int i_cat, mtime_t i_delay )
123 {
124  int i_ret = es_out_Control( p_out, ES_OUT_SET_DELAY, i_cat, i_delay );
125  assert( !i_ret );
126 }
127 static inline int es_out_SetRecordState( es_out_t *p_out, bool b_record )
128 {
129  return es_out_Control( p_out, ES_OUT_SET_RECORD_STATE, b_record );
130 }
131 static inline int es_out_SetPauseState( es_out_t *p_out, bool b_source_paused, bool b_paused, mtime_t i_date )
132 {
133  return es_out_Control( p_out, ES_OUT_SET_PAUSE_STATE, b_source_paused, b_paused, i_date );
134 }
135 static inline int es_out_SetRate( es_out_t *p_out, int i_source_rate, int i_rate )
136 {
137  return es_out_Control( p_out, ES_OUT_SET_RATE, i_source_rate, i_rate );
138 }
139 static inline int es_out_SetTime( es_out_t *p_out, mtime_t i_date )
140 {
141  return es_out_Control( p_out, ES_OUT_SET_TIME, i_date );
142 }
143 static inline int es_out_SetFrameNext( es_out_t *p_out )
144 {
145  return es_out_Control( p_out, ES_OUT_SET_FRAME_NEXT );
146 }
147 static inline void es_out_SetTimes( es_out_t *p_out, double f_position, mtime_t i_time, mtime_t i_length )
148 {
149  int i_ret = es_out_Control( p_out, ES_OUT_SET_TIMES, f_position, i_time, i_length );
150  assert( !i_ret );
151 }
152 static inline void es_out_SetJitter( es_out_t *p_out,
153  mtime_t i_pts_delay, mtime_t i_pts_jitter, int i_cr_average )
154 {
155  int i_ret = es_out_Control( p_out, ES_OUT_SET_JITTER,
156  i_pts_delay, i_pts_jitter, i_cr_average );
157  assert( !i_ret );
158 }
159 static inline int es_out_GetEsObjects( es_out_t *p_out, int i_id,
160  vlc_object_t **pp_decoder, vout_thread_t **pp_vout, audio_output_t **pp_aout )
161 {
162  return es_out_Control( p_out, ES_OUT_GET_ES_OBJECTS_BY_ID, i_id, pp_decoder, pp_vout, pp_aout );
163 }
164 static inline int es_out_GetGroupForced( es_out_t *p_out )
165 {
166  int i_group;
167  int i_ret = es_out_Control( p_out, ES_OUT_GET_GROUP_FORCED, &i_group );
168  assert( !i_ret );
169  return i_group;
170 }
171 static inline void es_out_Eos( es_out_t *p_out )
172 {
173  int i_ret = es_out_Control( p_out, ES_OUT_SET_EOS );
174  assert( !i_ret );
175 }
176 
177 es_out_t *input_EsOutNew( input_thread_t *, int i_rate );
178 
179 #endif
subs_format_t::psz_encoding
char * psz_encoding
Definition: vlc_es.h:515
COLOR_SPACE_BT601
Definition: vlc_es.h:298
EsOutControl
static int EsOutControl(es_out_t *, int i_query, va_list)
Definition: es_out.c:2889
COLOR_PRIMARIES_BT2020
Definition: vlc_es.h:256
EsOutChangeRate
static void EsOutChangeRate(es_out_t *out, int i_rate)
Definition: es_out.c:588
EsOutProgramDel
static int EsOutProgramDel(es_out_t *out, int i_group)
Definition: es_out.c:1121
input_SendEventTeletextDel
void input_SendEventTeletextDel(input_thread_t *p_input, int i_teletext)
Definition: event.c:266
input_clock_GetWakeup
mtime_t input_clock_GetWakeup(input_clock_t *cl)
This functions will return a deadline used to control the reading speed.
Definition: clock.c:380
ES_OUT_SET_DELAY
Definition: es_out.h:62
input_DecoderGetObjects
void input_DecoderGetObjects(decoder_t *p_dec, vout_thread_t **pp_vout, audio_output_t **pp_aout)
This function returns the objects associated to a decoder.
Definition: decoder.c:2375
input_clock_New
input_clock_t * input_clock_New(int i_rate)
This function creates a new input_clock_t.
Definition: clock.c:188
count
size_t count
Definition: core.c:461
DEMUX_SET_GROUP
Definition: vlc_demux.h:258
input_SendEventEsAdd
void input_SendEventEsAdd(input_thread_t *p_input, enum es_format_category_e i_cat, int i_id, const char *psz_text)
Definition: event.c:241
es_out_mode_e
es_out_mode_e
Definition: es_out.h:29
ES_OUT_SET_JITTER
Definition: es_out.h:83
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
input_item_t::p_meta
vlc_meta_t * p_meta
Definition: vlc_input_item.h:80
es_out_sys_t::b_active
bool b_active
Definition: es_out.c:141
es_cat
static es_out_id_t es_cat[DATA_ES]
Definition: es_out.c:411
TRANSFER_FUNC_BT470_M
Definition: vlc_es.h:278
VIDEO_ES
Definition: vlc_es.h:566
es_format_t::psz_description
char * psz_description
human-readable description of language
Definition: vlc_es.h:600
es_out_sys_t::es
es_out_id_t ** es
Definition: es_out.c:138
es_out_sys_t::p_input
input_thread_t * p_input
Definition: es_out.c:125
vlc_demux.h
EsOutGlobalMeta
static void EsOutGlobalMeta(es_out_t *p_out, const vlc_meta_t *p_meta)
Definition: es_out.c:1524
input_SendEventPosition
void input_SendEventPosition(input_thread_t *p_input, double f_position, mtime_t i_time)
Definition: event.c:54
es_out_pgrm_t::p_clock
input_clock_t * p_clock
Definition: es_out.c:94
vlc_epg_t::psz_name
char * psz_name
Definition: vlc_epg.h:53
info.h
es_out_es_props_t::i_count
int i_count
Definition: es_out.c:111
ES_OUT_MODIFY_PCR_SYSTEM
Definition: vlc_es_out.h:97
es_format_t::video
video_format_t video
description of video format
Definition: vlc_es.h:609
AUDIO_REPLAY_GAIN_MAX
#define AUDIO_REPLAY_GAIN_MAX
audio replay gain description
Definition: vlc_es.h:53
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:131
input_EsOutNew
es_out_t * input_EsOutNew(input_thread_t *p_input, int i_rate)
Definition: es_out.c:285
ES_OUT_PRIVATE_START
Definition: vlc_es_out.h:102
input_DecoderDrain
void input_DecoderDrain(decoder_t *p_dec)
Signals that there are no further blocks to decode, and requests that the decoder drain all pending b...
Definition: decoder.c:2100
input_thread_private_t::p_sout
sout_instance_t * p_sout
Definition: input_internal.h:108
VLC_VIDEOS_DIR
Definition: vlc_configuration.h:133
input_Control
int input_Control(input_thread_t *p_input, int i_query,...)
Control function for inputs.
Definition: control.c:52
EsUnselect
static void EsUnselect(es_out_t *out, es_out_id_t *es, bool b_update)
Definition: es_out.c:1813
CHROMA_LOCATION_CENTER
Definition: vlc_es.h:314
ES_OUT_MODE_END
Definition: es_out.h:56
input_DecoderStopWait
void input_DecoderStopWait(decoder_t *p_dec)
This function exits the waiting mode of the decoder.
Definition: decoder.c:2281
strcasecmp
int strcasecmp(const char *, const char *)
es_out_sys_t::b_buffering
bool b_buffering
Definition: es_out.c:167
ES_OUT_SET_GROUP_EPG_EVENT
Definition: vlc_es_out.h:76
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:97
es_format_t::i_bitrate
unsigned int i_bitrate
bitrate of this ES
Definition: vlc_es.h:613
es_out_SetDelay
static void es_out_SetDelay(es_out_t *p_out, int i_cat, mtime_t i_delay)
Definition: es_out.h:121
EsSelect
static void EsSelect(es_out_t *out, es_out_id_t *es)
Definition: es_out.c:1719
EsOutDecodersChangePause
static void EsOutDecodersChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:721
ES_OUT_SET_META
Definition: vlc_es_out.h:93
es_out_sys_t::i_pgrm
int i_pgrm
Definition: es_out.c:131
input_DecoderStartWait
void input_DecoderStartWait(decoder_t *p_dec)
This function makes the decoder start waiting for a valid data block from its fifo.
Definition: decoder.c:2267
vlc_meta_Merge
void vlc_meta_Merge(vlc_meta_t *dst, const vlc_meta_t *src)
Merging meta.
Definition: meta.c:177
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:1478
video_format_t::MaxFALL
uint16_t MaxFALL
Definition: vlc_es.h:370
input_SendEventProgramAdd
void input_SendEventProgramAdd(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.c:205
TRANSFER_FUNC_BT470_BG
Definition: vlc_es.h:277
vlc_epg_event_t
Definition: vlc_epg.h:32
es_out_sys_t::pgrm
es_out_pgrm_t ** pgrm
Definition: es_out.c:132
es_out_t::pf_del
void(* pf_del)(es_out_t *, es_out_id_t *)
Definition: vlc_es_out.h:115
es_out_id_t::p_pgrm
es_out_pgrm_t * p_pgrm
Definition: es_out.c:80
EsOutProgramChangePause
static void EsOutProgramChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:764
LanguageArrayIndex
static int LanguageArrayIndex(char **ppsz_langs, const char *psz_lang)
Definition: es_out.c:3013
es_out_t::pf_destroy
void(* pf_destroy)(es_out_t *)
Definition: vlc_es_out.h:117
ES_OUT_SET_MODE
Definition: es_out.h:41
demux_Control
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:358
vlc_common.h
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:155
decoder_cc_desc_t::i_608_channels
uint8_t i_608_channels
Definition: vlc_codec.h:196
EsOutDecoderChangeDelay
static void EsOutDecoderChangeDelay(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:772
LanguageGetCode
static char * LanguageGetCode(const char *psz_lang)
Definition: es_out.c:2942
ES_OUT_DEL_GROUP
Definition: vlc_es_out.h:80
input_clock_t
Definition: clock.c:140
es_out_SetJitter
static void es_out_SetJitter(es_out_t *p_out, mtime_t i_pts_delay, mtime_t i_pts_jitter, int i_cr_average)
Definition: es_out.h:151
BLOCK_FLAG_CORRUPTED
#define BLOCK_FLAG_CORRUPTED
This block is corrupted and/or there is data loss
Definition: vlc_block.h:86
EsDeleteInfo
static void EsDeleteInfo(es_out_t *, es_out_id_t *es)
Definition: es_out.c:3374
var_CreateGetNonEmptyString
#define var_CreateGetNonEmptyString(a, b)
Definition: vlc_variables.h:496
lldiv_t::rem
long long rem
Definition: vlc_fixups.h:77
EsOutProgramSelect
static void EsOutProgramSelect(es_out_t *out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1002
input_item_SetName
void input_item_SetName(input_item_t *p_item, const char *psz_name)
Definition: item.c:310
CHROMA_LOCATION_LEFT
Definition: vlc_es.h:313
video_format_t::mastering
struct video_format_t::@152 mastering
CHROMA_LOCATION_BOTTOM_LEFT
Definition: vlc_es.h:317
vlc_meta_GetExtra
const char * vlc_meta_GetExtra(const vlc_meta_t *m, const char *psz_name)
Definition: meta.c:145
input_SendEventMeta
void input_SendEventMeta(input_thread_t *p_input)
Definition: event.c:189
es_out_pgrm_t
Definition: es_out.c:59
ES_OUT_ES_POLICY_EXCLUSIVE
Definition: vlc_es_out.h:107
ES_OUT_SET_NEXT_DISPLAY_TIME
Definition: vlc_es_out.h:71
es_out_id_t::i_id
int i_id
Definition: es_out.c:79
input_DecoderChangeDelay
void input_DecoderChangeDelay(decoder_t *p_dec, mtime_t i_delay)
This function changes the delay.
Definition: decoder.c:2258
EsOutEpgTime
static void EsOutEpgTime(es_out_t *out, int64_t time)
Definition: es_out.c:1440
COLOR_SPACE_MAX
#define COLOR_SPACE_MAX
Definition: vlc_es.h:304
input_DecoderFrameNext
void input_DecoderFrameNext(decoder_t *p_dec, mtime_t *pi_duration)
This function force the display of the next picture and fills the stream time consumed.
Definition: decoder.c:2319
vlc_pgettext
#define vlc_pgettext(ctx, id)
Definition: vlc_common.h:958
INPUT_ADD_INFO
Definition: vlc_input.h:432
EsOutSetRecord
static int EsOutSetRecord(es_out_t *, bool b_record)
Definition: es_out.c:465
es_out_sys_t::i_spu_delay
int64_t i_spu_delay
Definition: es_out.c:151
es_out_sys_t::i_buffering_extra_stream
mtime_t i_buffering_extra_stream
Definition: es_out.c:169
es_out_sys_t::lock
vlc_mutex_t lock
Definition: es_out.c:128
BLOCK_FLAG_PREROLL
#define BLOCK_FLAG_PREROLL
This block has to be decoded but not be displayed.
Definition: vlc_block.h:84
audio_replay_gain_t
Definition: vlc_es.h:56
vlc_es_out.h
EsDestroyDecoder
static void EsDestroyDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:1702
EsOutUpdateInfo
static void EsOutUpdateInfo(es_out_t *, es_out_id_t *es, const es_format_t *, const vlc_meta_t *)
Definition: es_out.c:3033
es_out_pgrm_t::i_es
int i_es
Definition: es_out.c:88
block_t::i_buffer
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
audio_format_t::i_bitspersample
unsigned i_bitspersample
Definition: vlc_es.h:112
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
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
input_thread_private_t::p_demux_corrupted
counter_t * p_demux_corrupted
Definition: input_internal.h:154
vlc_mutex_init_recursive
void vlc_mutex_init_recursive(vlc_mutex_t *p_mutex)
Initializes a recursive mutex.
Definition: thread.c:99
input_SendEventCache
void input_SendEventCache(input_thread_t *p_input, double f_level)
Definition: event.c:179
es_out.h
block_t::i_dts
mtime_t i_dts
Definition: vlc_block.h:124
input_item_t::i_epg
int i_epg
Number of EPG entries.
Definition: vlc_input_item.h:82
AUDIO_REPLAY_GAIN_TRACK
#define AUDIO_REPLAY_GAIN_TRACK
Definition: vlc_es.h:54
decoder_cc_desc_t
Definition: vlc_codec.h:194
VLC_VAR_ADDCHOICE
#define VLC_VAR_ADDCHOICE
Definition: vlc_variables.h:96
TRANSFER_FUNC_MAX
#define TRANSFER_FUNC_MAX
Definition: vlc_es.h:289
GetPropsByCat
static es_out_es_props_t * GetPropsByCat(es_out_sys_t *p_sys, int i_cat)
Definition: es_out.c:228
EsOutProgramMeta
static void EsOutProgramMeta(es_out_t *out, int i_group, const vlc_meta_t *p_meta)
Definition: es_out.c:1223
EsOutChangePause
static void EsOutChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:547
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:586
DATA_ES
Definition: vlc_es.h:569
es_out_sys_t
Definition: es_out.c:123
input_item_SetArtURL
#define input_item_SetArtURL
Definition: vlc_input_item.h:314
INPUT_RECORD_PREFIX
#define INPUT_RECORD_PREFIX
Record prefix string.
Definition: vlc_input.h:230
input_item_t::lock
vlc_mutex_t lock
Lock for the item.
Definition: vlc_input_item.h:93
es_out_es_props_t::p_main_es
es_out_id_t * p_main_es
Definition: es_out.c:112
input_thread_private_t::p_demux_bitrate
counter_t * p_demux_bitrate
Definition: input_internal.h:153
es_out_GetEsObjects
static int es_out_GetEsObjects(es_out_t *p_out, int i_id, vlc_object_t **pp_decoder, vout_thread_t **pp_vout, audio_output_t **pp_aout)
Definition: es_out.h:158
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:1663
ES_OUT_GET_ES_STATE
Definition: vlc_es_out.h:49
input_clock_GetJitter
mtime_t input_clock_GetJitter(input_clock_t *cl)
This function returns an estimation of the pts_delay needed to avoid rebufferization.
Definition: clock.c:568
vlc_demux_chained_t::length
int64_t length
Definition: demux_chained.c:64
demux_NewAdvanced
#define demux_NewAdvanced(a, b, c, d, e, f, g, h)
Definition: demux.h:36
ES_OUT_SET_EPG_TIME
Definition: vlc_es_out.h:77
es_out_SetPauseState
static int es_out_SetPauseState(es_out_t *p_out, bool b_source_paused, bool b_paused, mtime_t i_date)
Definition: es_out.h:130
vlc_epg_t::i_event
size_t i_event
Definition: vlc_epg.h:56
ES_OUT_SET_ES_SCRAMBLED_STATE
Definition: vlc_es_out.h:83
es_out_SetTimes
static void es_out_SetTimes(es_out_t *p_out, double f_position, mtime_t i_time, mtime_t i_length)
Definition: es_out.h:146
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:198
input_thread_private_t::b_can_pace_control
bool b_can_pace_control
Definition: input_internal.h:91
info_category_t
Definition: vlc_input_item.h:48
VLC_MUSIC_DIR
Definition: vlc_configuration.h:131
es_out_sys_t::i_rate
int i_rate
Definition: es_out.c:157
libvlc_stats
#define libvlc_stats(o)
Definition: libvlc.h:207
msleep
#define msleep(d)
Definition: vlc_threads.h:878
input_DecoderChangePause
void input_DecoderChangePause(decoder_t *p_dec, bool b_paused, mtime_t i_date)
This function changes the pause state.
Definition: decoder.c:2243
audio_replay_gain_t::pf_peak
float pf_peak[(2)]
Definition: vlc_es.h:61
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
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:539
ES_OUT_SET_ES_BY_ID
Definition: es_out.h:47
demux_t
Definition: vlc_demux.h:43
COLOR_PRIMARIES_BT601_525
Definition: vlc_es.h:253
decoder_t
Definition: vlc_codec.h:55
_
#define _(str)
Definition: vlc_fixups.h:371
input_SendEventProgramScrambled
void input_SendEventProgramScrambled(input_thread_t *p_input, int i_group, bool b_scrambled)
Definition: event.c:218
PROJECTION_MODE_RECTANGULAR
Definition: vlc_es.h:241
input_thread_private_t::p_demux_discontinuity
counter_t * p_demux_discontinuity
Definition: input_internal.h:155
info_category_AddInfo
static info_t * info_category_AddInfo(info_category_t *cat, const char *name, const char *format,...)
Definition: info.h:100
es_out_es_props_t::i_demux_id
int i_demux_id
Definition: es_out.c:118
input_thread_private_t::counters_lock
vlc_mutex_t counters_lock
Definition: input_internal.h:166
video_format_t::white_point
uint16_t white_point[2]
Definition: vlc_es.h:363
INPUT_DEL_INFO
Definition: vlc_input.h:435
subs_format_t::p_style
text_style_t * p_style
Definition: vlc_es.h:548
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
INPUT_REPLACE_INFOS
Definition: vlc_input.h:433
input_DecoderWait
void input_DecoderWait(decoder_t *p_dec)
This function waits for the decoder to actually receive data.
Definition: decoder.c:2293
iso639_lang_t::psz_iso639_1
const char psz_iso639_1[3]
Definition: vlc_iso_lang.h:33
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
input_DecoderDelete
void input_DecoderDelete(decoder_t *p_dec)
Kills a decoder thread and waits until it's finished.
Definition: decoder.c:1980
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
input_SendEventTeletextSelect
void input_SendEventTeletextSelect(input_thread_t *p_input, int i_teletext)
Definition: event.c:270
lldiv_t
Definition: vlc_fixups.h:74
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:433
ES_OUT_SET_GROUP
Definition: vlc_es_out.h:55
info_category_New
static info_category_t * info_category_New(const char *name)
Definition: info.h:46
LanguageSplit
static char ** LanguageSplit(const char *psz_langs)
Definition: es_out.c:2961
es_out_t::pf_send
int(* pf_send)(es_out_t *, es_out_id_t *, block_t *)
Definition: vlc_es_out.h:114
EsOutIsProgramVisible
static bool EsOutIsProgramVisible(es_out_t *out, int i_group)
Definition: es_out.c:994
video_format_t::transfer
video_transfer_func_t transfer
transfer function
Definition: vlc_es.h:351
vlc_input.h
CHROMA_LOCATION_UNDEF
Definition: vlc_es.h:312
input_item_SetPreparsed
void input_item_SetPreparsed(input_item_t *p_i, bool b_preparsed)
Definition: item.c:75
ES_OUT_GET_PCR_SYSTEM
Definition: vlc_es_out.h:96
es_out_sys_t::i_audio_delay
int64_t i_audio_delay
Definition: es_out.c:150
EsOutProgramEpgEvent
static void EsOutProgramEpgEvent(es_out_t *out, int i_group, const vlc_epg_event_t *p_event)
Definition: es_out.c:1345
es_out_sys_t::audio
es_out_es_props_t audio
Definition: es_out.c:144
audio_format_t::i_rate
unsigned int i_rate
audio sample-rate
Definition: vlc_es.h:85
input_clock_GetState
int input_clock_GetState(input_clock_t *cl, mtime_t *pi_stream_start, mtime_t *pi_system_start, mtime_t *pi_stream_duration, mtime_t *pi_system_duration)
This function returns current clock state or VLC_EGENERIC if there is not a reference point.
Definition: clock.c:466
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
es_out_sys_t::b_paused
bool b_paused
Definition: es_out.c:160
audio_format_t::i_physical_channels
uint16_t i_physical_channels
Definition: vlc_es.h:89
vlc_meta_TypeToLocalizedString
const char * vlc_meta_TypeToLocalizedString(vlc_meta_type_t meta_type)
Returns a localizes string describing the meta.
Definition: meta.c:51
vlc_gettext
char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:89
asprintf
int asprintf(char **, const char *,...)
block_t::i_pts
mtime_t i_pts
Definition: vlc_block.h:123
vlc_value_t::i_int
int64_t i_int
Definition: vlc_common.h:327
input_SendEventProgramDel
void input_SendEventProgramDel(input_thread_t *p_input, int i_program)
Definition: event.c:210
VLC_DOWNLOAD_DIR
Definition: vlc_configuration.h:127
es_out_SetMode
static void es_out_SetMode(es_out_t *p_out, int i_mode)
Definition: es_out.h:92
TRANSFER_FUNC_LINEAR
Definition: vlc_es.h:275
video_format_t::primaries
video_color_primaries_t primaries
color primaries
Definition: vlc_es.h:350
INPUT_PTS_DELAY_MAX
#define INPUT_PTS_DELAY_MAX
Definition: input_internal.h:245
EsOutDecodersStopBuffering
static void EsOutDecodersStopBuffering(es_out_t *out, bool b_forced)
Definition: es_out.c:631
demux_TestAndClearFlags
unsigned demux_TestAndClearFlags(demux_t *p_demux, unsigned flags)
Definition: demux.c:544
subs_format_t::teletext
struct subs_format_t::@156 teletext
EsOutFrameNext
static void EsOutFrameNext(es_out_t *out)
Definition: es_out.c:797
ES_OUT_SET_ES_DEFAULT_BY_ID
Definition: es_out.h:49
input_DecoderGetCcState
int input_DecoderGetCcState(decoder_t *p_dec, 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:2229
lldiv
lldiv_t lldiv(long long, long long)
vlc_meta_t
Definition: meta.c:41
es_out_sys_t::i_buffering_extra_initial
mtime_t i_buffering_extra_initial
Definition: es_out.c:168
ES_OUT_SET_ES_DEFAULT
Definition: vlc_es_out.h:44
vlc_meta_SetNowPlaying
#define vlc_meta_SetNowPlaying(meta, b)
Definition: vlc_meta.h:124
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:136
DEMUX_GET_TIME
Definition: vlc_demux.h:240
EsOutProgramEpg
static void EsOutProgramEpg(es_out_t *out, int i_group, const vlc_epg_t *p_epg)
Definition: es_out.c:1362
video_format_t::projection_mode
video_projection_mode_t projection_mode
Multiview mode, 2D, 3D.
Definition: vlc_es.h:358
clock.h
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:113
block_t::i_length
mtime_t i_length
Definition: vlc_block.h:125
input_item_SetPublisher
static void input_item_SetPublisher(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:300
video_format_t::i_frame_rate
unsigned int i_frame_rate
frame rate numerator
Definition: vlc_es.h:341
es_out_sys_t::p_sout_record
sout_instance_t * p_sout_record
Definition: es_out.c:173
vlc_meta_Title
Definition: vlc_meta.h:35
es_format_category_e
es_format_category_e
ES Categories.
Definition: vlc_es.h:563
video_format_t::space
video_color_space_t space
YCbCr color space.
Definition: vlc_es.h:352
es_out_t::pf_control
int(* pf_control)(es_out_t *, int i_query, va_list)
Definition: vlc_es_out.h:116
vlc_object_hold
#define vlc_object_hold(a)
Definition: vlc_objects.h:60
es_format_t::p_extra_languages
extra_languages_t * p_extra_languages
extra language data needed by some decoders
Definition: vlc_es.h:602
input_clock_ChangeSystemOrigin
void input_clock_ChangeSystemOrigin(input_clock_t *cl, bool b_absolute, mtime_t i_system)
This function allows rebasing the original system value date (a valid reference point must have been ...
Definition: clock.c:489
input_item_GetArtURL
#define input_item_GetArtURL
Definition: vlc_input_item.h:315
CLOCK_FREQ
#define CLOCK_FREQ
Definition: vlc_config.h:45
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
audio_output
Audio output object.
Definition: vlc_aout.h:114
es_out_t
Definition: vlc_es_out.h:111
input_item_SetEpgTime
void input_item_SetEpgTime(input_item_t *, int64_t)
Definition: item.c:1015
lldiv_t::quot
long long quot
Definition: vlc_fixups.h:76
es_out_sys_t::i_buffering_extra_system
mtime_t i_buffering_extra_system
Definition: es_out.c:170
EsOutDelete
static void EsOutDelete(es_out_t *)
Definition: es_out.c:338
vlc_demux_chained_t::fifo
stream_t * fifo
Definition: demux_chained.c:56
vlc_demux_chained_t::thread
vlc_thread_t thread
Definition: demux_chained.c:58
es_out_pgrm_t::b_selected
bool b_selected
Definition: es_out.c:90
COLOR_SPACE_BT2020
Definition: vlc_es.h:300
es_out_es_props_t::i_id
int i_id
Definition: es_out.c:117
es_out_sys_t::i_group_id
int i_group_id
Definition: es_out.c:147
es_out_id_t::psz_language_code
char * psz_language_code
Definition: es_out.c:89
TRANSFER_FUNC_SRGB
Definition: vlc_es.h:276
es_out_id_t::type
vlc_fourcc_t type
Definition: es_out.c:97
block_t::p_next
block_t * p_next
Definition: vlc_block.h:113
EsOutDel
static void EsOutDel(es_out_t *, es_out_id_t *)
Definition: es_out.c:2148
COLOR_PRIMARIES_BT470_M
#define COLOR_PRIMARIES_BT470_M
Definition: vlc_es.h:265
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:329
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
es_out_GetGroupForced
static int es_out_GetGroupForced(es_out_t *p_out)
Definition: es_out.h:163
ES_OUT_SET_RATE
Definition: es_out.h:71
es_format_t::i_extra_languages
unsigned i_extra_languages
length in bytes of extra language data pointer
Definition: vlc_es.h:601
COLOR_PRIMARIES_UNDEF
Definition: vlc_es.h:252
EsOutDecodersIsEmpty
static bool EsOutDecodersIsEmpty(es_out_t *out)
Definition: es_out.c:429
input_DecoderGetCcDesc
void input_DecoderGetCcDesc(decoder_t *p_dec, decoder_cc_desc_t *p_desc)
This function get cc channels descriptions.
Definition: decoder.c:2142
es_format_t::audio_replay_gain
audio_replay_gain_t audio_replay_gain
Definition: vlc_es.h:607
EsOutProgramsChangeRate
static void EsOutProgramsChangeRate(es_out_t *out)
Definition: es_out.c:789
input_SendEventLength
void input_SendEventLength(input_thread_t *p_input, mtime_t i_length)
Definition: event.c:68
input_clock_GetSystemOrigin
void input_clock_GetSystemOrigin(input_clock_t *cl, mtime_t *pi_system, mtime_t *pi_delay)
This function returns the original system value date and the delay for the current reference point (a...
Definition: clock.c:515
es_out_Control
static int es_out_Control(es_out_t *out, int i_query,...)
Definition: vlc_es_out.h:144
es_out_Eos
static void es_out_Eos(es_out_t *p_out)
Definition: es_out.h:170
es_out_es_props_t::b_autoselect
bool b_autoselect
Definition: es_out.c:116
es_out_id_t::psz_language
char * psz_language
Definition: es_out.c:88
COLOR_PRIMARIES_MAX
#define COLOR_PRIMARIES_MAX
Definition: vlc_es.h:266
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:3525
vlc_demux_chained_Delete
void vlc_demux_chained_Delete(vlc_demux_chained_t *dc)
Destroys a chained demuxer.
Definition: demux_chained.c:161
VLC_TS_INVALID
#define VLC_TS_INVALID
Definition: vlc_config.h:42
DEMUX_GET_LENGTH
Definition: vlc_demux.h:239
subs_format_t::i_page
int i_page
Definition: vlc_es.h:539
es_format_t
Definition: vlc_es.h:580
vlc_stream_fifo_New
stream_t * vlc_stream_fifo_New(vlc_object_t *parent)
Creates a FIFO stream.
Definition: stream_fifo.c:108
es_out_sys_t::sub
es_out_es_props_t sub
Definition: es_out.c:144
es_out_id_t::p_master
es_out_id_t * p_master
Definition: es_out.c:103
EsOutESVarUpdateGeneric
static void EsOutESVarUpdateGeneric(es_out_t *out, int i_id, const es_format_t *fmt, const char *psz_language, bool b_delete)
Definition: es_out.c:912
audio_replay_gain_t::pb_peak
bool pb_peak[(2)]
Definition: vlc_es.h:59
es_out_es_props_t::i_channel
int i_channel
Definition: es_out.c:119
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
block_t::i_flags
uint32_t i_flags
Definition: vlc_block.h:120
subs_format_t::cc
struct subs_format_t::@157 cc
vlc_meta_ArtworkURL
Definition: vlc_meta.h:51
es_out_t::pf_add
es_out_id_t *(* pf_add)(es_out_t *, const es_format_t *)
Definition: vlc_es_out.h:113
es_out_id_t::b_scrambled
bool b_scrambled
Definition: es_out.c:83
EsOutPropsCleanup
static void EsOutPropsCleanup(es_out_es_props_t *p_props)
Definition: es_out.c:242
vlc_fourcc.h
video_format_t::chroma_location
video_chroma_location_t chroma_location
YCbCr chroma location.
Definition: vlc_es.h:354
es_format_t::i_cat
enum es_format_category_e i_cat
ES category.
Definition: vlc_es.h:582
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_SendEventMetaEpg
void input_SendEventMetaEpg(input_thread_t *p_input)
Definition: event.c:199
vlc_demux_chained_t::time
int64_t time
Definition: demux_chained.c:65
input_thread_private_t::p_item
input_item_t * p_item
Definition: input_internal.h:135
ES_OUT_MODE_ALL
Definition: es_out.h:53
input_clock_GetRate
int input_clock_GetRate(input_clock_t *cl)
This function returns the current rate.
Definition: clock.c:455
video_format_t::b_color_range_full
bool b_color_range_full
0-255 instead of 16-235
Definition: vlc_es.h:353
vlc_viewpoint_t::yaw
float yaw
Definition: vlc_viewpoint.h:45
ES_OUT_SET_ES
Definition: vlc_es_out.h:39
input_EsOutNew
es_out_t * input_EsOutNew(input_thread_t *, int i_rate)
Definition: es_out.c:285
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
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
es_format_t::i_original_fourcc
vlc_fourcc_t i_original_fourcc
original FOURCC from the container
Definition: vlc_es.h:584
LanguageGetName
static char * LanguageGetName(const char *psz_code)
Definition: es_out.c:2903
block_Release
static void block_Release(block_t *block)
Releases a block.
Definition: vlc_block.h:181
input_Stopped
bool input_Stopped(input_thread_t *input)
Definition: input.c:537
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:589
CHROMA_LOCATION_BOTTOM_CENTER
Definition: vlc_es.h:318
ES_OUT_SET_TIMES
Definition: es_out.h:80
TAB_APPEND
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:64
vlc_iso_lang.h
EsOutESVarUpdate
static void EsOutESVarUpdate(es_out_t *out, es_out_id_t *es, bool b_delete)
Definition: es_out.c:988
demux_Demux
static int demux_Demux(demux_t *p_demux)
Definition: vlc_demux.h:348
psz_name
const char * psz_name
Definition: vlc_codecs.h:315
input_DecoderNew
decoder_t * input_DecoderNew(input_thread_t *p_input, es_format_t *fmt, input_clock_t *p_clock, sout_instance_t *p_sout)
Spawns a new decoder thread from the input thread.
Definition: decoder.c:1955
vlc_meta_New
vlc_meta_t * vlc_meta_New(void)
vlc_meta contructor.
Definition: meta.c:92
input_thread_private_t::b_out_pace_control
bool b_out_pace_control
Definition: input_internal.h:107
vlc_thread_t
Thread handle.
Definition: vlc_threads.h:252
es_out_pgrm_t::i_id
int i_id
Definition: es_out.c:85
es_format_t::p_extra
void * p_extra
extra data needed by some decoders or muxers
Definition: vlc_es.h:619
EsOutAddSlave
static es_out_id_t * EsOutAddSlave(es_out_t *out, const es_format_t *fmt, es_out_id_t *p_master)
Definition: es_out.c:1531
ES_OUT_SET_ES_STATE
Definition: vlc_es_out.h:48
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
EsDeleteCCChannels
static void EsDeleteCCChannels(es_out_t *out, es_out_id_t *parent)
Definition: es_out.c:1785
audio_replay_gain_t::pf_gain
float pf_gain[(2)]
Definition: vlc_es.h:66
GetLang_2T
const iso639_lang_t * GetLang_2T(const char *psz_code)
Definition: iso_lang.c:55
ES_OUT_SET_TIME
Definition: es_out.h:74
vlc_value_t::psz_string
char * psz_string
Definition: vlc_common.h:330
aout_FormatPrintChannels
const char * aout_FormatPrintChannels(const audio_sample_format_t *p_format)
Definition: common.c:103
es_out_GetBuffering
static bool es_out_GetBuffering(es_out_t *p_out)
Definition: es_out.h:105
stream_t
stream_t definition
Definition: vlc_stream.h:46
var_GetInteger
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
es_out_id_t::i_meta_id
int i_meta_id
Definition: es_out.c:106
es_out_sys_t::i_pts_jitter
mtime_t i_pts_jitter
Definition: es_out.c:155
CHROMA_LOCATION_MAX
#define CHROMA_LOCATION_MAX
Definition: vlc_es.h:319
es_format_t::audio
audio_format_t audio
description of audio format
Definition: vlc_es.h:606
es_out_id_t::i_bitmap
uint64_t i_bitmap
Definition: es_out.c:98
input_SendEventEsSelect
void input_SendEventEsSelect(input_thread_t *p_input, enum es_format_category_e i_cat, int i_id)
Definition: event.c:254
var_SetInteger
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
es_out_sys_t::i_preroll_end
mtime_t i_preroll_end
Definition: es_out.c:164
EsOutIsExtraBufferingAllowed
static bool EsOutIsExtraBufferingAllowed(es_out_t *out)
Definition: es_out.c:739
input_clock_ChangePause
void input_clock_ChangePause(input_clock_t *cl, bool b_paused, mtime_t i_date)
This function allows changing the pause status.
Definition: clock.c:357
es_out_sys_t::p_pgrm
es_out_pgrm_t * p_pgrm
Definition: es_out.c:133
ES_OUT_GET_EMPTY
Definition: vlc_es_out.h:90
es_out_id_t
Definition: es_out.c:76
GetLang_1
const iso639_lang_t * GetLang_1(const char *psz_code)
Definition: iso_lang.c:44
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:252
var_CountChoices
#define var_CountChoices(a, b)
Definition: vlc_variables.h:579
es_out_pgrm_t::p_meta
vlc_meta_t * p_meta
Definition: es_out.c:96
CHROMA_LOCATION_TOP_LEFT
Definition: vlc_es.h:315
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
vlc_demux_chained_t::lock
vlc_mutex_t lock
Definition: demux_chained.c:59
es_out_es_props_t::ppsz_language
char ** ppsz_language
Definition: es_out.c:120
video_format_t::i_visible_height
unsigned int i_visible_height
height of visible area
Definition: vlc_es.h:334
EsOutGetFromID
static es_out_id_t * EsOutGetFromID(es_out_t *out, int i_id)
Definition: es_out.c:413
ES_OUT_SET_ES_FMT
Definition: vlc_es_out.h:68
AUDIO_ES
Definition: vlc_es.h:567
es_out_id_t::i_channel
int i_channel
Definition: es_out.c:86
video_format_t::pose
vlc_viewpoint_t pose
Definition: vlc_es.h:359
vlc_demux_chained_t::stats
struct vlc_demux_chained_t::@13 stats
video_format_t::lighting
struct video_format_t::@153 lighting
EsOutGetBuffering
static mtime_t EsOutGetBuffering(es_out_t *out)
Definition: es_out.c:866
EsOutChangePosition
static void EsOutChangePosition(es_out_t *out)
Definition: es_out.c:596
es_out_id_t::fmt
es_format_t fmt
Definition: es_out.c:87
es_out_sys_t::i_prev_stream_level
int i_prev_stream_level
Definition: es_out.c:176
PROJECTION_MODE_CUBEMAP_LAYOUT_STANDARD
Definition: vlc_es.h:244
vlc_stream_fifo_Close
void vlc_stream_fifo_Close(stream_t *s)
Terminates a FIFO stream.
Definition: stream_fifo.c:170
input_DecoderIsEmpty
bool input_DecoderIsEmpty(decoder_t *p_dec)
This function returns true if the decoder fifo is empty and false otherwise.
Definition: decoder.c:2059
input_SendEventEsDel
void input_SendEventEsDel(input_thread_t *p_input, enum es_format_category_e i_cat, int i_id)
Definition: event.c:247
UNKNOWN_ES
Definition: vlc_es.h:565
es_out_SetFrameNext
static int es_out_SetFrameNext(es_out_t *p_out)
Definition: es_out.h:142
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
likely
#define likely(p)
Definition: vlc_common.h:113
vlc_stream_fifo_Queue
int vlc_stream_fifo_Queue(stream_t *s, block_t *block)
Writes a block to a FIFO stream.
Definition: stream_fifo.c:138
vlc_object_t
The main vlc_object_t structure.
Definition: vlc_objects.h:39
EsFmtIsTeletext
static bool EsFmtIsTeletext(const es_format_t *p_fmt)
Definition: es_out.c:221
es_out_id_t::pp_es
es_out_id_t * pp_es[64]
Definition: es_out.c:99
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:351
es_out_id_t::cc
struct es_out_id_t::@14 cc
var_GetNonEmptyString
#define var_GetNonEmptyString(a, b)
Definition: vlc_variables.h:659
input_DecoderDecode
void input_DecoderDecode(decoder_t *p_dec, block_t *p_block, bool b_do_pace)
Put a block_t in the decoder's fifo.
Definition: decoder.c:2028
es_out_sys_t::i_es
int i_es
Definition: es_out.c:137
es_format_t::i_extra
int i_extra
length in bytes of extra data pointer
Definition: vlc_es.h:618
VLC_THREAD_PRIORITY_INPUT
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:322
sout_DeleteInstance
void sout_DeleteInstance(sout_instance_t *p_sout)
Definition: stream_output.c:134
input_DecoderSetCcState
int input_DecoderSetCcState(decoder_t *p_dec, vlc_fourcc_t codec, int i_channel, bool b_decode)
This function activates the request closed caption channel.
Definition: decoder.c:2174
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:912
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:144
iso639_lang_t
Definition: vlc_iso_lang.h:30
input_SendEventProgramSelect
void input_SendEventProgramSelect(input_thread_t *p_input, int i_program)
Definition: event.c:214
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:128
vlc_mutex_t
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
input_DecoderGetFifoSize
size_t input_DecoderGetFifoSize(decoder_t *p_dec)
This function returns the current size in bytes of the decoder fifo.
Definition: decoder.c:2368
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:290
TRANSFER_FUNC_HLG
Definition: vlc_es.h:282
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
EsOutTerminate
static void EsOutTerminate(es_out_t *)
Definition: es_out.c:352
es_out_SetRecordState
static int es_out_SetRecordState(es_out_t *p_out, bool b_record)
Definition: es_out.h:126
ES_OUT_RESET_PCR
Definition: vlc_es_out.h:65
COLOR_SPACE_UNDEF
Definition: vlc_es.h:297
COLOR_SPACE_BT709
Definition: vlc_es.h:299
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:333
strdup
char * strdup(const char *)
ES_OUT_SET_PCR
Definition: vlc_es_out.h:63
vlc_epg_event_t::psz_name
char * psz_name
Definition: vlc_epg.h:38
decoder_cc_desc_t::i_708_channels
uint64_t i_708_channels
Definition: vlc_codec.h:197
COLOR_PRIMARIES_BT601_625
Definition: vlc_es.h:254
vlc_epg_t::b_present
bool b_present
Definition: vlc_epg.h:58
psz_value
char psz_value[8]
Definition: vout_intf.c:91
ES_OUT_STOP_ALL_ES
Definition: es_out.h:54
vlc_epg_t::i_source_id
uint16_t i_source_id
Definition: vlc_epg.h:55
CHROMA_LOCATION_TOP_CENTER
Definition: vlc_es.h:316
input_clock_Delete
void input_clock_Delete(input_clock_t *cl)
This function destroys a input_clock_t created by input_clock_New.
Definition: clock.c:222
EsCreateDecoder
static void EsCreateDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:1681
ES_OUT_ES_POLICY_SIMULTANEOUS
Definition: vlc_es_out.h:108
input_item_SetEpgOffline
void input_item_SetEpgOffline(input_item_t *)
Definition: item.c:1022
EsInfoCategoryName
static char * EsInfoCategoryName(es_out_id_t *es)
Definition: es_out.c:1213
es_format_t::i_codec
vlc_fourcc_t i_codec
FOURCC value as used in vlc.
Definition: vlc_es.h:583
input_clock_Update
void input_clock_Update(input_clock_t *cl, vlc_object_t *p_log, bool *pb_late, bool b_can_pace_control, bool b_buffering_allowed, mtime_t i_ck_stream, mtime_t i_ck_system)
This function will update a input_clock_t with a new clock reference point.
Definition: clock.c:234
input_priv
static input_thread_private_t * input_priv(input_thread_t *input)
Definition: input_internal.h:179
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:144
vlc_block.h
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:593
demux.h
name
const char name[16]
Definition: httpd.c:1249
vlc_demux_chained_t::name
char name[]
Definition: demux_chained.c:69
PROJECTION_MODE_EQUIRECTANGULAR
Definition: vlc_es.h:242
config_GetUserDir
char * config_GetUserDir(vlc_userdir_t type)
Definition: specific.c:272
vlc_demux_chained_t
Definition: demux_chained.c:34
TAB_INIT
#define TAB_INIT(count, tab)
Definition: vlc_arrays.h:40
vlc_meta_Publisher
Definition: vlc_meta.h:49
EsOutControlLocked
static int EsOutControlLocked(es_out_t *out, int i_query, va_list args)
Control query handler.
Definition: es_out.c:2239
es_out_pgrm_t::b_scrambled
bool b_scrambled
Definition: es_out.c:91
input_ExtractAttachmentAndCacheArt
void input_ExtractAttachmentAndCacheArt(input_thread_t *, const char *name)
Definition: meta.c:206
es_out_SetTime
static int es_out_SetTime(es_out_t *p_out, mtime_t i_date)
Definition: es_out.h:138
ES_OUT_POST_SUBNODE
Definition: vlc_es_out.h:99
VLC_FOURCC
#define VLC_FOURCC(a, b, c, d)
Definition: fourcc_gen.c:36
EsOutSetDelay
static void EsOutSetDelay(es_out_t *out, int i_cat, int64_t i_delay)
Definition: es_out.c:452
ES_OUT_MODE_PARTIAL
Definition: es_out.h:55
EsOutGetClosedCaptionsChannel
static int EsOutGetClosedCaptionsChannel(const es_format_t *p_fmt)
Definition: es_out.c:210
es_format_t::subs
subs_format_t subs
description of subtitle format
Definition: vlc_es.h:610
N_
#define N_(str)
Definition: vlc_fixups.h:372
SPU_ES
Definition: vlc_es.h:568
TAB_REMOVE
#define TAB_REMOVE(count, tab, p)
Definition: vlc_arrays.h:91
DEMUX_GET_POSITION
Definition: vlc_demux.h:235
input_DecoderFlush
void input_DecoderFlush(decoder_t *p_dec)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2114
vlc_mutex_destroy
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
GetLang_2B
const iso639_lang_t * GetLang_2B(const char *psz_code)
Definition: iso_lang.c:66
INPUT_MERGE_INFOS
Definition: vlc_input.h:434
TRANSFER_FUNC_UNDEF
Definition: vlc_es.h:274
block_Duplicate
static block_t * block_Duplicate(block_t *p_block)
Duplicates a block.
Definition: vlc_block.h:203
ES_OUT_GET_GROUP_FORCED
Definition: es_out.h:86
ES_OUT_SET_RECORD_STATE
Definition: es_out.h:65
es_out_sys_t::i_pause_date
mtime_t i_pause_date
Definition: es_out.c:161
aout_BitsPerSample
unsigned int aout_BitsPerSample(vlc_fourcc_t i_format)
Definition: common.c:41
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:330
es_format_t::psz_language
char * psz_language
human-readable language name
Definition: vlc_es.h:599
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
unlikely
#define unlikely(p)
Definition: vlc_common.h:114
ES_OUT_SET_EOS
Definition: es_out.h:89
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:131
ES_OUT_SET_GROUP_META
Definition: vlc_es_out.h:73
var_GetString
#define var_GetString(a, b)
Definition: vlc_variables.h:658
TRANSFER_FUNC_SMPTE_240
Definition: vlc_es.h:281
vlc_ureduce
bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
es_out_policy_e
es_out_policy_e
Definition: vlc_es_out.h:105
ES_OUT_SET_FRAME_NEXT
Definition: es_out.h:77
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:299
EsOutGetWakeup
static mtime_t EsOutGetWakeup(es_out_t *out)
Definition: es_out.c:390
input_item_node_PostAndDelete
void input_item_node_PostAndDelete(input_item_node_t *p_node)
Definition: item.c:1301
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
video_format_t::i_frame_rate_base
unsigned int i_frame_rate_base
frame rate denominator
Definition: vlc_es.h:342
ES_OUT_MODE_AUTO
Definition: es_out.h:54
input_SendEventTeletextAdd
void input_SendEventTeletextAdd(input_thread_t *p_input, int i_teletext, const char *psz_text)
Definition: event.c:261
es_out_es_props_t::e_policy
enum es_out_policy_e e_policy
Definition: es_out.c:113
EsOutSend
static int EsOutSend(es_out_t *, es_out_id_t *, block_t *)
Send a block for the given es_out.
Definition: es_out.c:2042
input_clock_Reset
void input_clock_Reset(input_clock_t *cl)
This function will reset the drift of a input_clock_t.
Definition: clock.c:326
es_out_GetWakeup
static mtime_t es_out_GetWakeup(es_out_t *p_out)
Definition: es_out.h:97
subs_format_t::i_magazine
int i_magazine
Definition: vlc_es.h:538
ES_OUT_SET_GROUP_PCR
Definition: vlc_es_out.h:64
ES_PRIORITY_SELECTABLE_MIN
#define ES_PRIORITY_SELECTABLE_MIN
Definition: vlc_es.h:578
vlc_demux_chained_t::position
double position
Definition: demux_chained.c:63
vlc_assert_unreachable
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
input_DecoderHasFormatChanged
bool input_DecoderHasFormatChanged(decoder_t *p_dec, 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:2340
mtime_t
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
input_item_t::pp_epg
vlc_epg_t ** pp_epg
EPG entries.
Definition: vlc_input_item.h:83
es_out_sys_t::i_cr_average
int i_cr_average
Definition: es_out.c:156
COLOR_PRIMARIES_BT709
Definition: vlc_es.h:255
input_clock_SetJitter
void input_clock_SetJitter(input_clock_t *cl, mtime_t i_pts_delay, int i_cr_average)
This function allows the set the minimal configuration for the jitter estimation algo.
Definition: clock.c:529
vlc_meta_ESNowPlaying
Definition: vlc_meta.h:48
demux_Delete
void demux_Delete(demux_t *p_demux)
Definition: demux.c:286
vlc_aout.h
ES_OUT_SET_PAUSE_STATE
Definition: es_out.h:68
ES_OUT_SET_ES_CAT_POLICY
Definition: vlc_es_out.h:52
es_out_id_t::p_dec_record
decoder_t * p_dec_record
Definition: es_out.c:92
ES_OUT_SET_GROUP_EPG
Definition: vlc_es_out.h:75
video_format_t::MaxCLL
uint16_t MaxCLL
Definition: vlc_es.h:369
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:70
TRANSFER_FUNC_BT709
Definition: vlc_es.h:279
ES_OUT_GET_ES_OBJECTS_BY_ID
Definition: es_out.h:50
video_format_t::max_luminance
uint32_t max_luminance
Definition: vlc_es.h:364
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:66
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:464
TRANSFER_FUNC_SMPTE_ST2084
Definition: vlc_es.h:280
input_item_SetTitle
static void input_item_SetTitle(input_item_t *p_input, const char *val)
Definition: vlc_input_item.h:285
input_item_node_t
Definition: vlc_input_item.h:180
es_out_es_props_t
Definition: es_out.c:109
vlc_alloc
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mdate
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
es_out_sys_t::i_id
int i_id
Definition: es_out.c:136
es_out_sys_t::i_mode
int i_mode
Definition: es_out.c:142
vlc_meta.h
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_internal.h
event.h
vlc_demux_chained_Thread
static void * vlc_demux_chained_Thread(void *data)
Definition: demux_chained.c:52
input_thread_private_t::p_demux_read
counter_t * p_demux_read
Definition: input_internal.h:152
es_out_GetEmpty
static bool es_out_GetEmpty(es_out_t *p_out)
Definition: es_out.h:113
video_format_t::orientation
video_orientation_t orientation
picture orientation
Definition: vlc_es.h:349
vlc_value_t
VLC value structure.
Definition: vlc_common.h:325
sout_instance_t
Stream output instance (FIXME: should be private to src/ to avoid invalid unsynchronized access)
Definition: vlc_sout.h:48
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:1858
es_out_t::p_sys
es_out_sys_t * p_sys
Definition: vlc_es_out.h:119
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:1995
EsOutAdd
static es_out_id_t * EsOutAdd(es_out_t *, const es_format_t *)
Definition: es_out.c:1658
es_format_Copy
int es_format_Copy(es_format_t *restrict dst, const es_format_t *src)
Definition: es_format.c:460
EsOutProgramUpdateScrambled
static void EsOutProgramUpdateScrambled(es_out_t *p_out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1449
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
EsOutProgramFind
static es_out_pgrm_t * EsOutProgramFind(es_out_t *p_out, int i_group)
Definition: es_out.c:1167
block_t
Definition: vlc_block.h:111
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:1311
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
audio_replay_gain_t::pb_gain
bool pb_gain[(2)]
Definition: vlc_es.h:64
subs_format_t::i_channel
uint8_t i_channel
Definition: vlc_es.h:543
ES_OUT_GET_BUFFERING
Definition: es_out.h:59
input_clock_ChangeRate
void input_clock_ChangeRate(input_clock_t *cl, int i_rate)
This functions allows changing the actual reading speed.
Definition: clock.c:340
ES_OUT_RESTART_ES_BY_ID
Definition: es_out.h:48
VLC_CODEC_TELETEXT
#define VLC_CODEC_TELETEXT
Definition: vlc_fourcc.h:532
VLC_CODEC_CEA708
#define VLC_CODEC_CEA708
Definition: vlc_fourcc.h:551
var_GetBool
#define var_GetBool(a, b)
Definition: vlc_variables.h:656
video_format_t::min_luminance
uint32_t min_luminance
Definition: vlc_es.h:365
decoder.h
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
EsOutProgramGetMetaName
static char * EsOutProgramGetMetaName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1181
es_out_id_t::p_dec
decoder_t * p_dec
Definition: es_out.c:91
input_item_ChangeEPGSource
void input_item_ChangeEPGSource(input_item_t *p_item, int i_source_id)
Definition: item.c:995
ES_OUT_RESTART_ES
Definition: vlc_es_out.h:40
ES_OUT_GET_WAKE_UP
Definition: es_out.h:44
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
vlc_demux_chained_t::out
es_out_t * out
Definition: demux_chained.c:68
COLOR_PRIMARIES_DCI_P3
Definition: vlc_es.h:257
vlc_viewpoint_t::fov
float fov
Definition: vlc_viewpoint.h:48
EsOutProgramAdd
static es_out_pgrm_t * EsOutProgramAdd(es_out_t *out, int i_group)
Definition: es_out.c:1080
VLC_CODEC_CEA608
#define VLC_CODEC_CEA608
Definition: vlc_fourcc.h:550
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120
es_out_sys_t::i_pts_delay
mtime_t i_pts_delay
Definition: es_out.c:154
EsOutProgramGetProgramName
static char * EsOutProgramGetProgramName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1198
item.h
var_Change
#define var_Change(a, b, c, d, e)
Definition: vlc_variables.h:127