Go to the documentation of this file.
25 #ifndef LIBVLC_INPUT_ES_OUT_H
26 #define LIBVLC_INPUT_ES_OUT_H 1
156 i_pts_delay, i_pts_jitter, i_cr_average );
static int EsOutControl(es_out_t *, int i_query, va_list)
Definition: es_out.c:2889
static void EsOutChangeRate(es_out_t *out, int i_rate)
Definition: es_out.c:588
static int EsOutProgramDel(es_out_t *out, int i_group)
Definition: es_out.c:1121
void input_SendEventTeletextDel(input_thread_t *p_input, int i_teletext)
Definition: event.c:266
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
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_t * input_clock_New(int i_rate)
This function creates a new input_clock_t.
Definition: clock.c:188
size_t count
Definition: core.c:461
Definition: vlc_demux.h:258
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
Definition: es_out.h:29
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:46
bool b_active
Definition: es_out.c:141
static es_out_id_t es_cat[DATA_ES]
Definition: es_out.c:411
es_out_id_t ** es
Definition: es_out.c:138
input_thread_t * p_input
Definition: es_out.c:125
static void EsOutGlobalMeta(es_out_t *p_out, const vlc_meta_t *p_meta)
Definition: es_out.c:1524
void input_SendEventPosition(input_thread_t *p_input, double f_position, mtime_t i_time)
Definition: event.c:54
input_clock_t * p_clock
Definition: es_out.c:94
char * psz_name
Definition: vlc_epg.h:53
int i_count
Definition: es_out.c:111
Definition: vlc_es_out.h:97
#define AUDIO_REPLAY_GAIN_MAX
audio replay gain description
Definition: vlc_es.h:53
es_out_query_private_e
Definition: es_out.h:38
es_out_t * input_EsOutNew(input_thread_t *p_input, int i_rate)
Definition: es_out.c:285
Definition: vlc_es_out.h:102
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
Definition: vlc_configuration.h:133
static void EsUnselect(es_out_t *out, es_out_id_t *es, bool b_update)
Definition: es_out.c:1813
void input_DecoderStopWait(decoder_t *p_dec)
This function exits the waiting mode of the decoder.
Definition: decoder.c:2281
int strcasecmp(const char *, const char *)
bool b_buffering
Definition: es_out.c:167
Definition: vlc_es_out.h:76
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
static void es_out_SetDelay(es_out_t *p_out, int i_cat, mtime_t i_delay)
Definition: es_out.h:121
static void EsSelect(es_out_t *out, es_out_id_t *es)
Definition: es_out.c:1719
static void EsOutDecodersChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:721
Definition: vlc_es_out.h:93
int i_pgrm
Definition: es_out.c:131
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
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
void input_SendEventProgramAdd(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.c:205
es_out_pgrm_t ** pgrm
Definition: es_out.c:132
void(* pf_del)(es_out_t *, es_out_id_t *)
Definition: vlc_es_out.h:115
es_out_pgrm_t * p_pgrm
Definition: es_out.c:80
static void EsOutProgramChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:764
static int LanguageArrayIndex(char **ppsz_langs, const char *psz_lang)
Definition: es_out.c:3013
void(* pf_destroy)(es_out_t *)
Definition: vlc_es_out.h:117
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:358
uint8_t i_608_channels
Definition: vlc_codec.h:196
static void EsOutDecoderChangeDelay(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:772
static char * LanguageGetCode(const char *psz_lang)
Definition: es_out.c:2942
Definition: vlc_es_out.h:80
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
#define BLOCK_FLAG_CORRUPTED
This block is corrupted and/or there is data loss
Definition: vlc_block.h:86
static void EsDeleteInfo(es_out_t *, es_out_id_t *es)
Definition: es_out.c:3374
#define var_CreateGetNonEmptyString(a, b)
Definition: vlc_variables.h:496
long long rem
Definition: vlc_fixups.h:77
static void EsOutProgramSelect(es_out_t *out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1002
void input_SendEventMeta(input_thread_t *p_input)
Definition: event.c:189
Definition: vlc_es_out.h:107
Definition: vlc_es_out.h:71
int i_id
Definition: es_out.c:79
void input_DecoderChangeDelay(decoder_t *p_dec, mtime_t i_delay)
This function changes the delay.
Definition: decoder.c:2258
static void EsOutEpgTime(es_out_t *out, int64_t time)
Definition: es_out.c:1440
#define COLOR_SPACE_MAX
Definition: vlc_es.h:304
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
#define vlc_pgettext(ctx, id)
Definition: vlc_common.h:958
static int EsOutSetRecord(es_out_t *, bool b_record)
Definition: es_out.c:465
int64_t i_spu_delay
Definition: es_out.c:151
mtime_t i_buffering_extra_stream
Definition: es_out.c:169
vlc_mutex_t lock
Definition: es_out.c:128
#define BLOCK_FLAG_PREROLL
This block has to be decoded but not be displayed.
Definition: vlc_block.h:84
static void EsDestroyDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:1702
static void EsOutUpdateInfo(es_out_t *, es_out_id_t *es, const es_format_t *, const vlc_meta_t *)
Definition: es_out.c:3033
int i_es
Definition: es_out.c:88
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
#define var_InheritInteger(o, n)
Definition: vlc_variables.h:612
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
void vlc_mutex_init_recursive(vlc_mutex_t *p_mutex)
Initializes a recursive mutex.
Definition: thread.c:99
void input_SendEventCache(input_thread_t *p_input, double f_level)
Definition: event.c:179
mtime_t i_dts
Definition: vlc_block.h:124
#define AUDIO_REPLAY_GAIN_TRACK
Definition: vlc_es.h:54
Definition: vlc_codec.h:194
#define VLC_VAR_ADDCHOICE
Definition: vlc_variables.h:96
#define TRANSFER_FUNC_MAX
Definition: vlc_es.h:289
static es_out_es_props_t * GetPropsByCat(es_out_sys_t *p_sys, int i_cat)
Definition: es_out.c:228
static void EsOutProgramMeta(es_out_t *out, int i_group, const vlc_meta_t *p_meta)
Definition: es_out.c:1223
static void EsOutChangePause(es_out_t *out, bool b_paused, mtime_t i_date)
Definition: es_out.c:547
es_out_id_t * p_main_es
Definition: es_out.c:112
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
const char * psz_eng_name
Definition: vlc_iso_lang.h:32
static bool EsIsSelected(es_out_id_t *es)
Definition: es_out.c:1663
Definition: vlc_es_out.h:49
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
int64_t length
Definition: demux_chained.c:64
#define demux_NewAdvanced(a, b, c, d, e, f, g, h)
Definition: demux.h:36
Definition: vlc_es_out.h:77
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
size_t i_event
Definition: vlc_epg.h:56
Definition: vlc_es_out.h:83
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
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
Definition: vlc_input_item.h:48
Definition: vlc_configuration.h:131
int i_rate
Definition: es_out.c:157
#define libvlc_stats(o)
Definition: libvlc.h:207
#define msleep(d)
Definition: vlc_threads.h:878
void input_DecoderChangePause(decoder_t *p_dec, bool b_paused, mtime_t i_date)
This function changes the pause state.
Definition: decoder.c:2243
float pf_peak[(2)]
Definition: vlc_es.h:61
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
Definition: vlc_demux.h:43
Definition: vlc_codec.h:55
#define _(str)
Definition: vlc_fixups.h:371
void input_SendEventProgramScrambled(input_thread_t *p_input, int i_group, bool b_scrambled)
Definition: event.c:218
static info_t * info_category_AddInfo(info_category_t *cat, const char *name, const char *format,...)
Definition: info.h:100
int i_demux_id
Definition: es_out.c:118
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
void input_DecoderWait(decoder_t *p_dec)
This function waits for the decoder to actually receive data.
Definition: decoder.c:2293
const char psz_iso639_1[3]
Definition: vlc_iso_lang.h:33
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:162
void input_DecoderDelete(decoder_t *p_dec)
Kills a decoder thread and waits until it's finished.
Definition: decoder.c:1980
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:263
void input_SendEventTeletextSelect(input_thread_t *p_input, int i_teletext)
Definition: event.c:270
Definition: vlc_fixups.h:74
Definition: vlc_es_out.h:55
static info_category_t * info_category_New(const char *name)
Definition: info.h:46
static char ** LanguageSplit(const char *psz_langs)
Definition: es_out.c:2961
int(* pf_send)(es_out_t *, es_out_id_t *, block_t *)
Definition: vlc_es_out.h:114
static bool EsOutIsProgramVisible(es_out_t *out, int i_group)
Definition: es_out.c:994
Definition: vlc_es_out.h:96
int64_t i_audio_delay
Definition: es_out.c:150
static void EsOutProgramEpgEvent(es_out_t *out, int i_group, const vlc_epg_event_t *p_event)
Definition: es_out.c:1345
es_out_es_props_t audio
Definition: es_out.c:144
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
bool b_paused
Definition: es_out.c:160
char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:89
int asprintf(char **, const char *,...)
mtime_t i_pts
Definition: vlc_block.h:123
int64_t i_int
Definition: vlc_common.h:327
void input_SendEventProgramDel(input_thread_t *p_input, int i_program)
Definition: event.c:210
Definition: vlc_configuration.h:127
static void es_out_SetMode(es_out_t *p_out, int i_mode)
Definition: es_out.h:92
static void EsOutDecodersStopBuffering(es_out_t *out, bool b_forced)
Definition: es_out.c:631
unsigned demux_TestAndClearFlags(demux_t *p_demux, unsigned flags)
Definition: demux.c:544
static void EsOutFrameNext(es_out_t *out)
Definition: es_out.c:797
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_t lldiv(long long, long long)
mtime_t i_buffering_extra_initial
Definition: es_out.c:168
Definition: vlc_es_out.h:44
int vlc_demux_chained_ControlVa(vlc_demux_chained_t *dc, int query, va_list ap)
Controls a chained demuxer.
Definition: demux_chained.c:136
Definition: vlc_demux.h:240
static void EsOutProgramEpg(es_out_t *out, int i_group, const vlc_epg_t *p_epg)
Definition: es_out.c:1362
const char psz_iso639_2B[4]
Definition: vlc_iso_lang.h:35
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
mtime_t i_length
Definition: vlc_block.h:125
sout_instance_t * p_sout_record
Definition: es_out.c:173
es_format_category_e
ES Categories.
Definition: vlc_es.h:563
int(* pf_control)(es_out_t *, int i_query, va_list)
Definition: vlc_es_out.h:116
#define vlc_object_hold(a)
Definition: vlc_objects.h:60
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
#define CLOCK_FREQ
Definition: vlc_config.h:45
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
Audio output object.
Definition: vlc_aout.h:114
Definition: vlc_es_out.h:111
long long quot
Definition: vlc_fixups.h:76
mtime_t i_buffering_extra_system
Definition: es_out.c:170
static void EsOutDelete(es_out_t *)
Definition: es_out.c:338
stream_t * fifo
Definition: demux_chained.c:56
vlc_thread_t thread
Definition: demux_chained.c:58
bool b_selected
Definition: es_out.c:90
int i_id
Definition: es_out.c:117
int i_group_id
Definition: es_out.c:147
char * psz_language_code
Definition: es_out.c:89
vlc_fourcc_t type
Definition: es_out.c:97
block_t * p_next
Definition: vlc_block.h:113
static void EsOutDel(es_out_t *, es_out_id_t *)
Definition: es_out.c:2148
#define COLOR_PRIMARIES_BT470_M
Definition: vlc_es.h:265
char * config_StringEscape(const char *str)
This function will escape a string that can be unescaped by config_StringUnescape.
Definition: chain.c:473
static int es_out_GetGroupForced(es_out_t *p_out)
Definition: es_out.h:163
static bool EsOutDecodersIsEmpty(es_out_t *out)
Definition: es_out.c:429
void input_DecoderGetCcDesc(decoder_t *p_dec, decoder_cc_desc_t *p_desc)
This function get cc channels descriptions.
Definition: decoder.c:2142
static void EsOutProgramsChangeRate(es_out_t *out)
Definition: es_out.c:789
void input_SendEventLength(input_thread_t *p_input, mtime_t i_length)
Definition: event.c:68
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
static int es_out_Control(es_out_t *out, int i_query,...)
Definition: vlc_es_out.h:144
static void es_out_Eos(es_out_t *p_out)
Definition: es_out.h:170
bool b_autoselect
Definition: es_out.c:116
char * psz_language
Definition: es_out.c:88
#define COLOR_PRIMARIES_MAX
Definition: vlc_es.h:266
void vlc_demux_chained_Delete(vlc_demux_chained_t *dc)
Destroys a chained demuxer.
Definition: demux_chained.c:161
#define VLC_TS_INVALID
Definition: vlc_config.h:42
Definition: vlc_demux.h:239
stream_t * vlc_stream_fifo_New(vlc_object_t *parent)
Creates a FIFO stream.
Definition: stream_fifo.c:108
es_out_es_props_t sub
Definition: es_out.c:144
es_out_id_t * p_master
Definition: es_out.c:103
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
bool pb_peak[(2)]
Definition: vlc_es.h:59
int i_channel
Definition: es_out.c:119
static int es_out_SetRate(es_out_t *p_out, int i_source_rate, int i_rate)
Definition: es_out.h:134
uint32_t i_flags
Definition: vlc_block.h:120
es_out_id_t *(* pf_add)(es_out_t *, const es_format_t *)
Definition: vlc_es_out.h:113
bool b_scrambled
Definition: es_out.c:83
static void EsOutPropsCleanup(es_out_es_props_t *p_props)
Definition: es_out.c:242
void input_SendEventMetaEpg(input_thread_t *p_input)
Definition: event.c:199
int64_t time
Definition: demux_chained.c:65
int input_clock_GetRate(input_clock_t *cl)
This function returns the current rate.
Definition: clock.c:455
float yaw
Definition: vlc_viewpoint.h:45
Definition: vlc_es_out.h:39
es_out_t * input_EsOutNew(input_thread_t *, int i_rate)
Definition: es_out.c:285
#define VLC_VAR_CHOICESCOUNT
Definition: vlc_variables.h:101
float roll
Definition: vlc_viewpoint.h:47
static char * LanguageGetName(const char *psz_code)
Definition: es_out.c:2903
static void block_Release(block_t *block)
Releases a block.
Definition: vlc_block.h:181
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:64
static void EsOutESVarUpdate(es_out_t *out, es_out_id_t *es, bool b_delete)
Definition: es_out.c:988
static int demux_Demux(demux_t *p_demux)
Definition: vlc_demux.h:348
const char * psz_name
Definition: vlc_codecs.h:315
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
Thread handle.
Definition: vlc_threads.h:252
int i_id
Definition: es_out.c:85
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
Definition: vlc_es_out.h:48
char * strtok_r(char *, const char *, char **)
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
static void EsDeleteCCChannels(es_out_t *out, es_out_id_t *parent)
Definition: es_out.c:1785
float pf_gain[(2)]
Definition: vlc_es.h:66
const iso639_lang_t * GetLang_2T(const char *psz_code)
Definition: iso_lang.c:55
char * psz_string
Definition: vlc_common.h:330
const char * aout_FormatPrintChannels(const audio_sample_format_t *p_format)
Definition: common.c:103
static bool es_out_GetBuffering(es_out_t *p_out)
Definition: es_out.h:105
stream_t definition
Definition: vlc_stream.h:46
#define var_GetInteger(a, b)
Definition: vlc_variables.h:655
int i_meta_id
Definition: es_out.c:106
mtime_t i_pts_jitter
Definition: es_out.c:155
#define CHROMA_LOCATION_MAX
Definition: vlc_es.h:319
uint64_t i_bitmap
Definition: es_out.c:98
void input_SendEventEsSelect(input_thread_t *p_input, enum es_format_category_e i_cat, int i_id)
Definition: event.c:254
#define var_SetInteger(a, b, c)
Definition: vlc_variables.h:256
mtime_t i_preroll_end
Definition: es_out.c:164
static bool EsOutIsExtraBufferingAllowed(es_out_t *out)
Definition: es_out.c:739
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_pgrm_t * p_pgrm
Definition: es_out.c:133
Definition: vlc_es_out.h:90
const iso639_lang_t * GetLang_1(const char *psz_code)
Definition: iso_lang.c:44
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
#define var_CountChoices(a, b)
Definition: vlc_variables.h:579
vlc_meta_t * p_meta
Definition: es_out.c:96
#define static_assert
Definition: vlc_fixups.h:367
vlc_mutex_t lock
Definition: demux_chained.c:59
char ** ppsz_language
Definition: es_out.c:120
static es_out_id_t * EsOutGetFromID(es_out_t *out, int i_id)
Definition: es_out.c:413
Definition: vlc_es_out.h:68
int i_channel
Definition: es_out.c:86
struct vlc_demux_chained_t::@13 stats
static mtime_t EsOutGetBuffering(es_out_t *out)
Definition: es_out.c:866
static void EsOutChangePosition(es_out_t *out)
Definition: es_out.c:596
es_format_t fmt
Definition: es_out.c:87
int i_prev_stream_level
Definition: es_out.c:176
void vlc_stream_fifo_Close(stream_t *s)
Terminates a FIFO stream.
Definition: stream_fifo.c:170
bool input_DecoderIsEmpty(decoder_t *p_dec)
This function returns true if the decoder fifo is empty and false otherwise.
Definition: decoder.c:2059
void input_SendEventEsDel(input_thread_t *p_input, enum es_format_category_e i_cat, int i_id)
Definition: event.c:247
static int es_out_SetFrameNext(es_out_t *p_out)
Definition: es_out.h:142
const char psz_iso639_2T[4]
Definition: vlc_iso_lang.h:34
#define likely(p)
Definition: vlc_common.h:113
int vlc_stream_fifo_Queue(stream_t *s, block_t *block)
Writes a block to a FIFO stream.
Definition: stream_fifo.c:138
The main vlc_object_t structure.
Definition: vlc_objects.h:39
static bool EsFmtIsTeletext(const es_format_t *p_fmt)
Definition: es_out.c:221
es_out_id_t * pp_es[64]
Definition: es_out.c:99
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:351
struct es_out_id_t::@14 cc
#define var_GetNonEmptyString(a, b)
Definition: vlc_variables.h:659
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
int i_es
Definition: es_out.c:137
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:322
void sout_DeleteInstance(sout_instance_t *p_sout)
Definition: stream_output.c:134
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
#define VLC_UNUSED(x)
Definition: vlc_common.h:912
#define sout_NewInstance(a, b)
Definition: stream_output.h:42
es_out_es_props_t video
Definition: es_out.c:144
Definition: vlc_iso_lang.h:30
void input_SendEventProgramSelect(input_thread_t *p_input, int i_program)
Definition: event.c:214
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
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
size_t input_DecoderGetFifoSize(decoder_t *p_dec)
This function returns the current size in bytes of the decoder fifo.
Definition: decoder.c:2368
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
static void EsOutTerminate(es_out_t *)
Definition: es_out.c:352
static int es_out_SetRecordState(es_out_t *p_out, bool b_record)
Definition: es_out.h:126
Definition: vlc_es_out.h:65
char * strdup(const char *)
Definition: vlc_es_out.h:63
char * psz_name
Definition: vlc_epg.h:38
uint64_t i_708_channels
Definition: vlc_codec.h:197
bool b_present
Definition: vlc_epg.h:58
char psz_value[8]
Definition: vout_intf.c:91
uint16_t i_source_id
Definition: vlc_epg.h:55
void input_clock_Delete(input_clock_t *cl)
This function destroys a input_clock_t created by input_clock_New.
Definition: clock.c:222
static void EsCreateDecoder(es_out_t *out, es_out_id_t *p_es)
Definition: es_out.c:1681
Definition: vlc_es_out.h:108
static char * EsInfoCategoryName(es_out_id_t *es)
Definition: es_out.c:1213
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
static const iso639_lang_t p_languages[]
Definition: iso-639_def.h:37
const char name[16]
Definition: httpd.c:1249
char name[]
Definition: demux_chained.c:69
char * config_GetUserDir(vlc_userdir_t type)
Definition: specific.c:272
Definition: demux_chained.c:34
#define TAB_INIT(count, tab)
Definition: vlc_arrays.h:40
static int EsOutControlLocked(es_out_t *out, int i_query, va_list args)
Control query handler.
Definition: es_out.c:2239
bool b_scrambled
Definition: es_out.c:91
static int es_out_SetTime(es_out_t *p_out, mtime_t i_date)
Definition: es_out.h:138
Definition: vlc_es_out.h:99
#define VLC_FOURCC(a, b, c, d)
Definition: fourcc_gen.c:36
static void EsOutSetDelay(es_out_t *out, int i_cat, int64_t i_delay)
Definition: es_out.c:452
static int EsOutGetClosedCaptionsChannel(const es_format_t *p_fmt)
Definition: es_out.c:210
#define N_(str)
Definition: vlc_fixups.h:372
#define TAB_REMOVE(count, tab, p)
Definition: vlc_arrays.h:91
Definition: vlc_demux.h:235
void input_DecoderFlush(decoder_t *p_dec)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2114
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
const iso639_lang_t * GetLang_2B(const char *psz_code)
Definition: iso_lang.c:66
static block_t * block_Duplicate(block_t *p_block)
Duplicates a block.
Definition: vlc_block.h:203
mtime_t i_pause_date
Definition: es_out.c:161
unsigned int aout_BitsPerSample(vlc_fourcc_t i_format)
Definition: common.c:41
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
#define unlikely(p)
Definition: vlc_common.h:114
void vlc_demux_chained_Send(vlc_demux_chained_t *dc, block_t *block)
Sends data to a chained demuxer.
Definition: demux_chained.c:131
Definition: vlc_es_out.h:73
#define var_GetString(a, b)
Definition: vlc_variables.h:658
bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
es_out_policy_e
Definition: vlc_es_out.h:105
const vlc_epg_event_t * p_current
Definition: vlc_epg.h:59
static mtime_t EsOutGetWakeup(es_out_t *out)
Definition: es_out.c:390
void input_SendEventTeletextAdd(input_thread_t *p_input, int i_teletext, const char *psz_text)
Definition: event.c:261
enum es_out_policy_e e_policy
Definition: es_out.c:113
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
void input_clock_Reset(input_clock_t *cl)
This function will reset the drift of a input_clock_t.
Definition: clock.c:326
static mtime_t es_out_GetWakeup(es_out_t *p_out)
Definition: es_out.h:97
Definition: vlc_es_out.h:64
#define ES_PRIORITY_SELECTABLE_MIN
Definition: vlc_es.h:578
double position
Definition: demux_chained.c:63
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
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
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
int i_cr_average
Definition: es_out.c:156
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
void demux_Delete(demux_t *p_demux)
Definition: demux.c:286
Definition: vlc_es_out.h:52
decoder_t * p_dec_record
Definition: es_out.c:92
Definition: vlc_es_out.h:75
Video output thread descriptor.
Definition: vlc_vout.h:70
#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
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
int i_id
Definition: es_out.c:136
int i_mode
Definition: es_out.c:142
static void * vlc_demux_chained_Thread(void *data)
Definition: demux_chained.c:52
static bool es_out_GetEmpty(es_out_t *p_out)
Definition: es_out.h:113
VLC value structure.
Definition: vlc_common.h:325
Stream output instance (FIXME: should be private to src/ to avoid invalid unsynchronized access)
Definition: vlc_sout.h:48
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_sys_t * p_sys
Definition: vlc_es_out.h:119
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
static es_out_id_t * EsOutAdd(es_out_t *, const es_format_t *)
Definition: es_out.c:1658
static void EsOutProgramUpdateScrambled(es_out_t *p_out, es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1449
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
static es_out_pgrm_t * EsOutProgramFind(es_out_t *p_out, int i_group)
Definition: es_out.c:1167
Definition: vlc_block.h:111
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
bool pb_gain[(2)]
Definition: vlc_es.h:64
void input_clock_ChangeRate(input_clock_t *cl, int i_rate)
This functions allows changing the actual reading speed.
Definition: clock.c:340
#define VLC_CODEC_TELETEXT
Definition: vlc_fourcc.h:532
#define VLC_CODEC_CEA708
Definition: vlc_fourcc.h:551
#define var_GetBool(a, b)
Definition: vlc_variables.h:656
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:270
float pitch
Definition: vlc_viewpoint.h:46
static char * EsOutProgramGetMetaName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1181
decoder_t * p_dec
Definition: es_out.c:91
Definition: vlc_es_out.h:40
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:32
es_out_t * out
Definition: demux_chained.c:68
float fov
Definition: vlc_viewpoint.h:48
static es_out_pgrm_t * EsOutProgramAdd(es_out_t *out, int i_group)
Definition: es_out.c:1080
#define VLC_CODEC_CEA608
Definition: vlc_fourcc.h:550
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120
mtime_t i_pts_delay
Definition: es_out.c:154
static char * EsOutProgramGetProgramName(es_out_pgrm_t *p_pgrm)
Definition: es_out.c:1198
#define var_Change(a, b, c, d, e)
Definition: vlc_variables.h:127