VLC 4.0.0-dev
|
Data Structures | |
struct | es_out_pgrm_t |
struct | vlc_es_id_t |
Opaque structure representing an ES (Elementary Stream) track. More... | |
struct | es_out_id_t |
struct | es_out_es_props_t |
struct | es_out_sys_t |
struct | clock_source_mapping |
Macros | |
#define | foreach_es_then_es_slaves(pos) |
#define | IGNORE_ES DATA_ES |
Functions | |
static void | EsOutDelLocked (es_out_sys_t *, es_out_id_t *) |
static void | EsOutDel (es_out_t *, es_out_id_t *) |
static void | EsOutTerminate (es_out_sys_t *) |
static void | EsOutSelect (es_out_sys_t *p_sys, 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.stream_lock) | |
static void | EsOutSelectList (es_out_sys_t *, enum es_format_category_e cat, vlc_es_id_t *const *es_id_list) |
static void | EsOutUpdateInfo (es_out_sys_t *, es_out_id_t *es, const vlc_meta_t *) |
static int | EsOutSetRecord (es_out_sys_t *, bool b_record, const char *dir_path) |
static bool | EsIsSelected (es_out_id_t *es) |
static void | EsOutSelectEs (es_out_sys_t *out, es_out_id_t *es, bool b_force, enum vlc_vout_order vout_order) |
static void | EsOutDeleteInfoEs (es_out_sys_t *, es_out_id_t *es) |
static void | EsOutUnselectEs (es_out_sys_t *out, es_out_id_t *es, bool b_update) |
static void | EsOutDecoderChangeDelay (es_out_sys_t *out, es_out_id_t *p_es) |
static void | EsOutDecodersChangePause (es_out_sys_t *out, bool b_paused, vlc_tick_t i_date) |
static void | EsOutChangePosition (es_out_sys_t *out, bool b_flush, es_out_id_t *p_next_frame_es) |
static void | EsOutProgramChangePause (es_out_sys_t *out, bool b_paused, vlc_tick_t i_date) |
static void | EsOutProgramsChangeRate (es_out_sys_t *out) |
static void | EsOutDecodersStopBuffering (es_out_sys_t *out, bool b_forced) |
static void | EsOutGlobalMeta (es_out_sys_t *p_out, const vlc_meta_t *p_meta) |
static void | EsOutMeta (es_out_sys_t *p_out, const vlc_meta_t *p_meta, const vlc_meta_t *p_progmeta) |
static int | EsOutEsUpdateFmt (es_out_id_t *es, const es_format_t *fmt) |
static int | EsOutPrivControlLocked (es_out_sys_t *out, input_source_t *, int i_query,...) |
static int | EsOutControlLocked (es_out_sys_t *out, input_source_t *, int i_query,...) |
static char * | LanguageGetName (const char *psz_code) |
static char * | LanguageGetCode (const char *psz_lang) |
static char ** | LanguageSplit (const char *psz_langs) |
static int | LanguageArrayIndex (char **ppsz_langs, const char *psz_lang) |
static char * | EsOutProgramGetMetaName (es_out_pgrm_t *p_pgrm) |
static char * | EsInfoCategoryName (es_out_id_t *es) |
static es_out_sys_t * | PRIV (es_out_t *out) |
static int | clock_source_mapping_cmp (const void *key, const void *val) |
static enum vlc_clock_master_source | clock_source_Inherit (vlc_object_t *obj) |
static void | decoder_on_vout_started (vlc_input_decoder_t *decoder, vout_thread_t *vout, enum vlc_vout_order order, void *userdata) |
static void | decoder_on_vout_stopped (vlc_input_decoder_t *decoder, vout_thread_t *vout, void *userdata) |
static void | decoder_on_thumbnail_ready (vlc_input_decoder_t *decoder, picture_t *pic, void *userdata) |
static void | decoder_on_new_video_stats (vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned displayed, unsigned late, void *userdata) |
static void | decoder_on_new_audio_stats (vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned played, void *userdata) |
static int | decoder_get_attachments (vlc_input_decoder_t *decoder, input_attachment_t ***ppp_attachment, void *userdata) |
static es_out_es_props_t * | GetPropsByCat (es_out_sys_t *p_sys, int i_cat) |
static void | EsOutPropsCleanup (es_out_es_props_t *p_props) |
static void | EsOutPropsInit (es_out_es_props_t *p_props, bool autoselect, input_thread_t *p_input, enum input_type input_type, enum es_out_policy_e e_default_policy, const char *psz_trackidvar, const char *psz_trackvar, const char *psz_langvar, const char *psz_debug) |
static void | EsTerminate (es_out_id_t *es) |
static char * | EsGetTitle (es_out_id_t *es) |
static void | EsRelease (es_out_id_t *es) |
static void | EsHold (es_out_id_t *es) |
static void | EsOutDelete (es_out_t *out) |
static void | ProgramDelete (es_out_pgrm_t *p_pgrm) |
static vlc_tick_t | EsOutGetWakeup (es_out_sys_t *p_sys) |
static bool | EsOutDecodersIsEmpty (es_out_sys_t *p_sys) |
static void | EsOutUpdateDelayJitter (es_out_sys_t *p_sys) |
static void | EsOutSetEsDelay (es_out_sys_t *p_sys, es_out_id_t *es, vlc_tick_t delay) |
static void | EsOutSetDelay (es_out_sys_t *p_sys, int i_cat, vlc_tick_t i_delay) |
static void | EsOutStopNextFrame (es_out_sys_t *p_sys) |
static void | EsOutChangePause (es_out_sys_t *p_sys, bool b_paused, vlc_tick_t i_date) |
static void | EsOutChangeRate (es_out_sys_t *p_sys, float rate) |
static void | EsOutStopFreeVout (es_out_sys_t *p_sys) |
static bool | EsOutIsExtraBufferingAllowed (es_out_sys_t *p_sys) |
static void | EsOutFrameNext (es_out_sys_t *p_sys) |
static vlc_tick_t | EsOutGetBuffering (es_out_sys_t *p_sys) |
static void | EsOutSendEsEvent (es_out_sys_t *p_sys, es_out_id_t *es, int action, bool forced, enum vlc_vout_order vout_order) |
static vlc_tick_t | ClockListenerUpdate (void *opaque, vlc_tick_t ck_system, vlc_tick_t ck_stream, double rate, bool discontinuity) |
static void | ClockListenerReset (void *opaque) |
static void | EsOutProgramHandleClockSource (es_out_sys_t *p_sys, es_out_pgrm_t *p_pgrm) |
static bool | EsOutIsGroupSticky (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static bool | EsOutIsProgramVisible (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static void | EsOutProgramSelect (es_out_sys_t *p_sys, es_out_pgrm_t *p_pgrm) |
static es_out_pgrm_t * | EsOutProgramAdd (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static es_out_pgrm_t * | EsOutProgramSearch (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static es_out_pgrm_t * | EsOutProgramInsert (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static int | EsOutProgramDel (es_out_sys_t *p_sys, input_source_t *source, int i_group) |
static char * | EsOutProgramGetProgramName (es_out_pgrm_t *p_pgrm) |
static void | EsOutProgramMeta (es_out_sys_t *p_sys, input_source_t *source, int i_group, const vlc_meta_t *p_meta) |
static void | EsOutProgramEpgEvent (es_out_sys_t *p_sys, input_source_t *source, int i_group, const vlc_epg_event_t *p_event) |
static void | EsOutProgramEpg (es_out_sys_t *p_sys, input_source_t *source, int i_group, const vlc_epg_t *p_epg) |
static void | EsOutEpgTime (es_out_sys_t *p_sys, int64_t time) |
static void | EsOutProgramUpdateScrambled (es_out_sys_t *p_sys, es_out_pgrm_t *p_pgrm) |
static void | EsOutUpdateEsLanguageTitle (es_out_id_t *es, const es_format_t *fmt) |
static void | EsOutFillEsFmt (es_out_sys_t *p_sys, es_format_t *fmt) |
static char * | EsOutCreateStrId (es_out_id_t *es, bool stable, const char *id, es_out_id_t *p_master) |
static es_out_id_t * | EsOutAddLocked (es_out_sys_t *p_sys, input_source_t *source, const es_format_t *fmt, es_out_id_t *p_master) |
static es_out_id_t * | EsOutAdd (es_out_t *out, input_source_t *source, const es_format_t *fmt) |
static void | ClockUpdate (vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base, void *data) |
static void | EsOutCreateDecoder (es_out_sys_t *p_sys, es_out_id_t *p_es) |
static void | EsOutDeleteSubESes (es_out_sys_t *sys, es_out_id_t *parent) |
static void | EsOutDestroyDecoder (es_out_sys_t *sys, es_out_id_t *p_es) |
static void | EsOutDrainSubESes (es_out_id_t *parent) |
static bool | EsOutSelectMatchPrioritized (const es_out_es_props_t *p_esprops, const es_out_id_t *es) |
static bool | EsOutSelectHasExplicitParams (const es_out_es_props_t *p_esprops) |
static bool | EsOutIdMatchStrIds (const es_out_id_t *es, char *str_ids) |
static bool | EsOutSelectMatchExplicitParams (const es_out_es_props_t *p_esprops, const es_out_id_t *es) |
static void | EsOutSelectListFromProps (es_out_sys_t *p_sys, enum es_format_category_e cat) |
static bool | EsOutIdMatchEsList (const es_out_id_t *es, vlc_es_id_t *const *es_id_list) |
static void | EsOutCreateSubESes (es_out_sys_t *sys, struct vlc_subdec_desc *desc, es_out_id_t *parent) |
static int | EsOutSend (es_out_t *out, es_out_id_t *es, block_t *p_block) |
Send a block for the given es_out. | |
static void | EsOutDrainDecoder (es_out_sys_t *p_sys, es_out_id_t *es, bool wait) |
static int | EsOutVaControlLocked (es_out_sys_t *p_sys, input_source_t *source, int i_query, va_list args) |
Control query handler. | |
static vlc_tick_t | EsOutGetTracksDelay (es_out_sys_t *p_sys) |
static int | EsOutVaPrivControlLocked (es_out_sys_t *p_sys, input_source_t *source, int query, va_list args) |
static int | EsOutControl (es_out_t *out, input_source_t *source, int i_query, va_list args) |
static int | EsOutPrivControl (struct vlc_input_es_out *out, input_source_t *source, int query, va_list args) |
struct vlc_input_es_out * | input_EsOutNew (input_thread_t *p_input, input_source_t *main_source, float rate, enum input_type input_type) |
static void | info_category_AddCodecInfo (info_category_t *p_cat, const char *psz_info, vlc_fourcc_t i_fourcc, const char *psz_description) |
es_out_id_t * | vlc_es_id_get_out (vlc_es_id_t *id) |
vlc_es_id_t * | vlc_es_id_Hold (vlc_es_id_t *id) |
Increase the ES track id reference count. | |
void | vlc_es_id_Release (vlc_es_id_t *id) |
Decrease the ES track id reference count. | |
int | vlc_es_id_GetInputId (vlc_es_id_t *id) |
Get the ES track input id. | |
bool | vlc_es_id_IsStrIdStable (vlc_es_id_t *id) |
Return whether the ES track identifier is stable. | |
const char * | vlc_es_id_GetStrId (vlc_es_id_t *id) |
Get the unique string identifier. | |
enum es_format_category_e | vlc_es_id_GetCat (vlc_es_id_t *id) |
Get the ES category. | |
const input_source_t * | vlc_es_id_GetSource (vlc_es_id_t *id) |
Variables | |
static const struct vlc_input_decoder_callbacks | decoder_cbs |
static es_out_id_t | es_cat [DATA_ES] |
static const struct es_out_callbacks | es_out_cbs |
#define foreach_es_then_es_slaves | ( | pos | ) |
#define IGNORE_ES DATA_ES |
|
static |
References ARRAY_SIZE, clock_source_mapping_cmp(), var_InheritString(), VLC_CLOCK_MASTER_AUDIO, VLC_CLOCK_MASTER_AUTO, VLC_CLOCK_MASTER_INPUT, and VLC_CLOCK_MASTER_MONOTONIC.
Referenced by input_EsOutNew().
|
static |
References clock_source_mapping::key, strcasecmp(), and clock_source_mapping::val.
Referenced by clock_source_Inherit().
|
static |
References es_out_pgrm_t::clocks, es_out_pgrm_t::input, vlc_clock_Lock(), vlc_clock_Reset(), and vlc_clock_Unlock().
Referenced by EsOutProgramHandleClockSource().
|
static |
|
static |
References es_out_id_t::id, input_SendEventOutputClock(), es_out_id_t::master, es_out_id_t::out, vlc_input_es_out::out, es_out_sys_t::p_input, and PRIV().
Referenced by EsOutCreateDecoder().
|
static |
References input_GetAttachments(), vlc_input_es_out::out, es_out_sys_t::p_input, and PRIV().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
References _, asprintf(), es_out_id_t::fmt, es_out_id_t::i_pos, es_format_t::psz_description, es_out_id_t::psz_language, and strdup().
Referenced by EsOutUpdateEsLanguageTitle().
|
static |
References es_out_id_t::rc, and vlc_atomic_rc_inc().
Referenced by vlc_es_id_Hold().
|
static |
References _, asprintf(), es_out_id_t::id, and vlc_es_id_t::str_id.
Referenced by EsOutDeleteInfoEs(), and EsOutUpdateInfo().
|
static |
References es_out_id_t::p_dec.
Referenced by EsOutDelLocked(), EsOutProgramSelect(), EsOutSelect(), EsOutSelectEs(), EsOutSelectList(), EsOutSelectListFromProps(), EsOutUnselectEs(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References EsOutAddLocked(), es_out_sys_t::lock, es_out_sys_t::main_source, PRIV(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
References es_out_sys_t::audio, AUDIO_ES, es_out_id_t::b_scrambled, es_out_id_t::b_terminated, es_out_id_t::delay, es_out_sys_t::es, es_format_Clean(), es_format_Copy(), es_format_Init(), es_out_sys_t::es_slaves, EsOutCreateStrId(), EsOutFillEsFmt(), EsOutIsGroupSticky(), EsOutProgramInsert(), EsOutSelect(), EsOutSendEsEvent(), EsOutUpdateEsLanguageTitle(), EsOutUpdateInfo(), es_out_id_t::fmt, es_out_id_t::fmt_out, foreach_es_then_es_slaves, es_format_t::i_cat, vlc_es_id_t::i_cat, es_out_id_t::i_channel, es_format_t::i_codec, es_out_es_props_t::i_count, es_out_pgrm_t::i_es, es_format_t::i_group, es_format_t::i_id, vlc_es_id_t::i_id, es_format_t::i_original_fourcc, es_out_id_t::i_pos, es_out_id_t::i_pts_level, es_out_id_t::id, input_source_GetNewAutoId(), input_source_GetStrId(), input_source_Hold(), input_source_Release(), es_out_id_t::master, es_out_id_t::mouse_event_cb, es_out_id_t::mouse_event_userdata, msg_Err, es_out_id_t::node, es_out_id_t::out, es_out_sys_t::out, es_out_id_t::p_clock, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, es_out_id_t::p_master, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, es_out_id_t::psz_language, es_out_id_t::psz_language_code, es_out_id_t::psz_title, es_out_id_t::rc, es_out_pgrm_t::source, vlc_es_id_t::source, SPU_ES, vlc_es_id_t::stable, vlc_es_id_t::str_id, es_out_sys_t::sub, es_out_id_t::sub_es_vec, UNKNOWN_ES, es_out_sys_t::video, VIDEO_ES, vlc_atomic_rc_init(), vlc_list_append(), VLC_SUCCESS, VLC_TICK_INVALID, VLC_TICK_MAX, vlc_vector_init, and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutAdd(), and EsOutCreateSubESes().
|
static |
References es_out_sys_t::b_paused, EsOutDecodersChangePause(), EsOutProgramChangePause(), EsOutProgramsChangeRate(), EsOutStopNextFrame(), es_out_sys_t::i_buffering_extra_initial, es_out_sys_t::i_buffering_extra_stream, es_out_sys_t::i_buffering_extra_system, es_out_sys_t::i_pause_date, input_clock_GetState(), es_out_pgrm_t::p_input_clock, es_out_sys_t::p_next_frame_es, and es_out_sys_t::p_pgrm.
Referenced by EsOutVaPrivControlLocked().
|
static |
References es_out_sys_t::b_buffering, foreach_es_then_es_slaves, es_out_sys_t::i_buffering_extra_initial, es_out_sys_t::i_buffering_extra_stream, es_out_sys_t::i_buffering_extra_system, es_out_pgrm_t::i_last_pcr, es_out_sys_t::i_preroll_end, es_out_sys_t::i_prev_stream_level, es_out_id_t::i_pts_level, input_clock_Reset(), input_SendEventCache(), es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_sys_t::programs, vlc_input_decoder_Flush(), vlc_input_decoder_StartWait(), vlc_list_foreach, and VLC_TICK_INVALID.
Referenced by EsOutDecodersStopBuffering(), EsOutStopNextFrame(), and EsOutVaControlLocked().
|
static |
References EsOutProgramsChangeRate(), foreach_es_then_es_slaves, es_out_id_t::p_dec, es_out_sys_t::rate, and vlc_input_decoder_ChangeRate().
Referenced by EsOutVaPrivControlLocked().
|
static |
References EsOutVaControlLocked(), es_out_sys_t::lock, PRIV(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
References EsOutVaControlLocked().
Referenced by EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References AUDIO_ES, es_out_sys_t::b_buffering, es_out_sys_t::b_paused, es_out_sys_t::cc_decoder, es_out_pgrm_t::clocks, ClockUpdate(), decoder_cbs, EsOutDecoderChangeDelay(), EsOutUpdateDelayJitter(), vlc_input_decoder_cfg::fmt, es_out_id_t::fmt, es_format_t::i_cat, es_out_sys_t::i_pause_date, es_out_id_t::id, input_priv(), es_out_sys_t::input_type, INPUT_TYPE_PLAYBACK, es_out_pgrm_t::main, es_out_id_t::master, es_out_id_t::mouse_event_cb, es_out_id_t::mouse_event_userdata, vlc_clock_cbs::on_update, es_out_id_t::p_clock, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, es_out_id_t::p_master, es_out_pgrm_t::p_master_es_clock, es_out_id_t::p_pgrm, input_thread_private_t::p_resource, input_thread_private_t::p_sout, es_out_sys_t::p_sout_record, es_out_sys_t::rate, vlc_es_id_t::str_id, UNKNOWN_ES, unlikely, es_out_sys_t::user_clock_source, VIDEO_ES, vlc_assert_unreachable, vlc_clock_Delete(), vlc_clock_main_CreateMaster(), vlc_clock_main_CreateSlave(), vlc_clock_main_Lock(), vlc_clock_main_Unlock(), VLC_CLOCK_MASTER_AUDIO, VLC_CLOCK_MASTER_AUTO, VLC_CLOCK_MASTER_INPUT, VLC_CLOCK_MASTER_MONOTONIC, vlc_input_decoder_ChangePause(), vlc_input_decoder_ChangeRate(), vlc_input_decoder_CreateSubDec(), vlc_input_decoder_New(), vlc_input_decoder_SetVoutMouseEvent(), vlc_input_decoder_StartWait(), and VLC_OBJECT.
Referenced by EsOutSelectEs(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References AUDIO_ES, DATA_ES, es_out_id_t::fmt, es_format_t::i_cat, es_format_t::i_id, es_out_id_t::id, vlc_memstream::ptr, SPU_ES, vlc_es_id_t::str_id, VIDEO_ES, vlc_memstream_close(), vlc_memstream_open(), vlc_memstream_printf(), vlc_memstream_putc(), and vlc_memstream_puts().
Referenced by EsOutAddLocked().
|
static |
References subs_format_t::cc, es_out_id_t::data, EsOutAddLocked(), EsOutSelect(), vlc_input_decoder_cfg::fmt, es_out_id_t::fmt, vlc_subdec_desc::fmt_array, vlc_subdec_desc::fmt_count, es_format_t::i_cat, subs_format_t::i_channel, es_out_es_props_t::i_channel, es_format_t::i_group, es_out_id_t::p_pgrm, es_out_id_t::size, es_out_pgrm_t::source, SPU_ES, es_out_sys_t::sub, es_out_id_t::sub_es_vec, es_format_t::subs, vlc_vector_insert, and vlc_vector_reserve.
Referenced by EsOutSend().
|
static |
References AUDIO_ES, es_out_id_t::delay, es_out_id_t::fmt, es_out_sys_t::i_audio_delay, es_format_t::i_cat, es_out_sys_t::i_spu_delay, es_out_sys_t::i_video_delay, es_out_id_t::p_dec, es_out_id_t::p_dec_record, SPU_ES, VIDEO_ES, vlc_input_decoder_ChangeDelay(), and VLC_TICK_MAX.
Referenced by EsOutCreateDecoder(), EsOutSetDelay(), and EsOutSetEsDelay().
|
static |
References foreach_es_then_es_slaves, es_out_id_t::p_dec, es_out_id_t::p_dec_record, and vlc_input_decoder_ChangePause().
Referenced by EsOutChangePause().
|
static |
|
static |
References es_out_sys_t::b_buffering, es_out_sys_t::b_paused, es_out_pgrm_t::clocks, EsOutChangePosition(), EsOutStopFreeVout(), es_out_id_t::fmt, foreach_es_then_es_slaves, es_out_sys_t::i_buffering_extra_initial, es_out_sys_t::i_buffering_extra_stream, es_format_t::i_cat, es_out_sys_t::i_pause_date, es_out_sys_t::i_preroll_end, es_out_sys_t::i_prev_stream_level, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, es_out_sys_t::i_tracks_pts_delay, input_clock_ChangeSystemOrigin(), input_clock_GetState(), input_SendEventCache(), es_out_pgrm_t::main, MS_FROM_VLC_TICK, msg_Dbg, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_sys_t::p_pgrm, SPU_ES, vlc_clock_main_Lock(), vlc_clock_main_Reset(), vlc_clock_main_SetFirstPcr(), vlc_clock_main_Unlock(), vlc_input_decoder_StopWait(), vlc_input_decoder_Wait(), VLC_TICK_FROM_MS, and vlc_tick_now().
Referenced by EsOutDecodersIsEmpty(), and EsOutVaControlLocked().
|
static |
References EsOutDelLocked(), es_out_sys_t::lock, PRIV(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
|
static |
References EsInfoCategoryName(), input_item_DelInfo(), input_priv(), input_SendEventMetaInfo(), es_out_sys_t::p_input, input_thread_private_t::p_item, unlikely, and VLC_SUCCESS.
Referenced by EsOutDelLocked().
|
static |
References es_out_id_t::data, EsOutDelLocked(), es_out_id_t::size, es_out_id_t::sub_es_vec, and vlc_vector_clear.
Referenced by EsOutDestroyDecoder().
|
static |
References es_out_id_t::b_scrambled, EsIsSelected(), EsOutDeleteInfoEs(), EsOutDrainDecoder(), EsOutIsGroupSticky(), EsOutProgramUpdateScrambled(), EsOutSelect(), EsOutSendEsEvent(), EsOutUnselectEs(), EsRelease(), EsTerminate(), es_out_id_t::fmt, foreach_es_then_es_slaves, GetPropsByCat(), es_format_t::i_cat, es_out_es_props_t::i_count, es_out_pgrm_t::i_es, es_format_t::i_group, es_out_id_t::id, msg_Dbg, es_out_id_t::p_dec, es_out_sys_t::p_input, es_out_es_props_t::p_main_es, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, vlc_es_id_t::source, and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutDel(), and EsOutDeleteSubESes().
|
static |
References es_format_Clean(), EsOutDeleteSubESes(), es_out_id_t::fmt_out, es_out_id_t::p_clock, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_pgrm_t::p_master_es_clock, es_out_id_t::p_pgrm, vlc_clock_Delete(), vlc_input_decoder_Delete(), and vlc_input_decoder_Flush().
Referenced by EsOutUnselectEs(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References es_out_sys_t::b_buffering, EsOutDrainSubESes(), input_Stopped(), es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, vlc_input_decoder_Drain(), vlc_input_decoder_IsEmpty(), VLC_TICK_FROM_MS, and vlc_tick_sleep().
Referenced by EsOutDelLocked(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References es_out_id_t::data, es_out_id_t::p_dec, es_out_id_t::size, es_out_id_t::sub_es_vec, and vlc_input_decoder_Drain().
Referenced by EsOutDrainDecoder().
|
static |
References input_item_SetEpgTime(), input_priv(), es_out_sys_t::p_input, and input_thread_private_t::p_item.
Referenced by EsOutVaControlLocked().
|
static |
References es_format_Clean(), es_format_Copy(), EsOutUpdateEsLanguageTitle(), es_out_id_t::fmt, es_out_id_t::fmt_out, es_format_t::i_cat, es_format_t::i_codec, es_format_t::i_extra_languages, es_format_t::i_group, es_format_t::i_id, es_format_t::i_original_fourcc, es_format_t::i_priority, es_format_t::p_extra_languages, es_format_t::psz_description, subs_format_t::psz_encoding, es_format_t::psz_language, SPU_ES, es_format_t::subs, and VLC_SUCCESS.
Referenced by EsOutSend().
|
static |
References es_format_t::audio, AUDIO_ES, es_format_t::audio_replay_gain, AUDIO_REPLAY_GAIN_MAX, audio_format_t::i_bitspersample, es_format_t::i_cat, es_format_t::i_codec, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, video_format_t::i_height, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_width, input_priv(), es_out_sys_t::p_input, audio_replay_gain_t::pb_gain, audio_replay_gain_t::pb_peak, audio_replay_gain_t::pf_gain, audio_replay_gain_t::pf_peak, SPU_ES, es_format_t::video, VIDEO_ES, vlc_audio_replay_gain_MergeFromMeta(), vlc_fourcc_GetCodec(), vlc_fourcc_GetCodecAudio(), vlc_mutex_lock(), vlc_mutex_unlock(), and vlc_ureduce().
Referenced by EsOutAddLocked(), and EsOutVaControlLocked().
|
static |
|
static |
References es_out_sys_t::b_buffering, es_out_sys_t::b_paused, es_out_sys_t::i_buffering_extra_initial, es_out_sys_t::i_buffering_extra_system, es_out_sys_t::i_pause_date, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, es_out_sys_t::i_tracks_pts_delay, input_clock_GetState(), es_out_pgrm_t::p_input_clock, es_out_sys_t::p_pgrm, es_out_sys_t::rate, and vlc_tick_now().
Referenced by EsOutVaPrivControlLocked().
|
static |
|
static |
|
static |
References EsOutMeta(), es_out_pgrm_t::p_meta, and es_out_sys_t::p_pgrm.
Referenced by EsOutProgramMeta(), and EsOutVaControlLocked().
|
static |
References es_out_id_t::id.
Referenced by EsOutSelectList().
|
static |
References es_out_id_t::id, vlc_input_decoder_cfg::str_id, vlc_es_id_t::str_id, and strtok_r().
Referenced by EsOutSelectListFromProps(), and EsOutSelectMatchExplicitParams().
|
static |
References foreach_es_then_es_slaves, es_out_id_t::p_dec, es_out_id_t::p_dec_record, and vlc_input_decoder_GetFifoSize().
Referenced by EsOutVaControlLocked().
|
inlinestatic |
References input_priv(), input_thread_private_t::master, and es_out_sys_t::p_input.
Referenced by EsOutAddLocked(), EsOutDelLocked(), EsOutProgramAdd(), EsOutProgramDel(), and EsOutProgramSelect().
|
static |
References es_out_sys_t::i_group_id, es_out_sys_t::p_pgrm, and es_out_pgrm_t::source.
Referenced by EsOutProgramEpg(), EsOutProgramEpgEvent(), and EsOutProgramMeta().
|
static |
References input_ExtractAttachmentAndCacheArt(), input_GetItem(), input_item_GetArtURL, input_item_SetArtURL, input_item_SetName(), input_item_SetPreparsed(), input_priv(), input_SendEventMeta(), input_item_t::lock, es_out_sys_t::p_input, input_item_t::p_meta, vlc_meta_ArtworkURL, vlc_meta_Get(), vlc_meta_Merge(), vlc_meta_Title, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutGlobalMeta(), and EsOutProgramMeta().
|
static |
References EsOutVaPrivControlLocked(), es_out_sys_t::lock, vlc_input_es_out::out, PRIV(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_EsOutNew().
|
static |
References EsOutVaPrivControlLocked().
Referenced by EsOutUpdateDelayJitter(), and EsOutVaControlLocked().
|
static |
References es_out_pgrm_t::active_clock_source, es_out_sys_t::b_paused, es_out_pgrm_t::b_scrambled, es_out_pgrm_t::b_selected, es_out_pgrm_t::clocks, EsOutIsGroupSticky(), EsOutProgramSelect(), es_out_sys_t::i_cr_average, es_out_pgrm_t::i_es, es_out_sys_t::i_group_id, es_out_pgrm_t::i_id, es_out_pgrm_t::i_last_pcr, es_out_sys_t::i_pause_date, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, es_out_sys_t::i_tracks_pts_delay, es_out_pgrm_t::input, input_clock_ChangePause(), input_clock_New(), input_clock_SetJitter(), input_priv(), input_SendEventProgramAdd(), input_source_Hold(), vlc_object_t::logger, es_out_pgrm_t::main, es_out_pgrm_t::node, input_thread_t::obj, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_pgrm_t::p_master_es_clock, es_out_pgrm_t::p_meta, es_out_sys_t::p_pgrm, es_out_sys_t::programs, es_out_sys_t::rate, es_out_pgrm_t::source, vlc_clock_main_Delete(), vlc_clock_main_Lock(), vlc_clock_main_New(), vlc_clock_main_SetDejitter(), vlc_clock_main_SetInputDejitter(), vlc_clock_main_Unlock(), VLC_CLOCK_MASTER_AUTO, vlc_list_append(), vlc_object_get_tracer(), and VLC_TICK_INVALID.
Referenced by EsOutProgramInsert(), and EsOutVaControlLocked().
|
static |
|
static |
References EsOutIsGroupSticky(), EsOutProgramSearch(), EsOutUnselectEs(), es_out_id_t::fmt, foreach_es_then_es_slaves, es_out_pgrm_t::i_es, es_format_t::i_group, es_out_id_t::id, input_SendEventProgramDel(), msg_Dbg, es_out_pgrm_t::node, es_out_sys_t::p_input, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, ProgramDelete(), vlc_es_id_t::source, VLC_EGENERIC, vlc_list_remove(), and VLC_SUCCESS.
Referenced by EsOutVaControlLocked().
|
static |
References vlc_epg_t::b_present, EsOutIsProgramVisible(), EsOutProgramGetMetaName(), EsOutProgramGetProgramName(), EsOutProgramInsert(), input_item_t::i_epg, vlc_epg_t::i_event, es_out_pgrm_t::i_id, vlc_epg_t::i_source_id, input_item_AddInfo(), input_item_DelInfo(), input_item_SetEpg(), input_item_SetESNowPlaying(), input_priv(), input_SendEventMeta(), input_SendEventMetaEpg(), input_SendEventMetaInfo(), input_item_t::lock, msg_Dbg, vlc_epg_t::p_current, es_out_sys_t::p_input, input_thread_private_t::p_item, es_out_pgrm_t::p_meta, es_out_sys_t::p_pgrm, input_item_t::pp_epg, vlc_epg_event_t::psz_name, vlc_epg_t::psz_name, psz_name, vlc_meta_ESNowPlaying, vlc_meta_Get(), vlc_meta_New(), vlc_meta_Set, vlc_meta_SetNowPlaying, vlc_meta_TypeToLocalizedString(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by EsOutVaControlLocked().
|
static |
References EsOutIsProgramVisible(), EsOutProgramInsert(), input_item_SetEpgEvent(), input_priv(), es_out_sys_t::p_input, and input_thread_private_t::p_item.
Referenced by EsOutVaControlLocked().
|
static |
References _, asprintf(), es_out_pgrm_t::i_id, es_out_pgrm_t::p_meta, vlc_meta_Get(), and vlc_meta_Title.
Referenced by EsOutProgramEpg(), EsOutProgramMeta(), and EsOutProgramUpdateScrambled().
|
static |
References _, asprintf(), es_out_pgrm_t::i_id, es_out_pgrm_t::p_meta, strdup(), vlc_meta_Get(), and vlc_meta_Title.
Referenced by EsOutProgramEpg().
|
static |
References es_out_pgrm_t::active_clock_source, es_out_sys_t::b_active, ClockListenerReset(), ClockListenerUpdate(), es_out_pgrm_t::clocks, es_out_pgrm_t::i_id, es_out_pgrm_t::input, input_CanPaceControl(), input_clock_AttachListener(), es_out_pgrm_t::main, msg_Dbg, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_sys_t::p_pgrm, vlc_input_clock_cbs::update, es_out_sys_t::user_clock_source, vlc_assert_unreachable, vlc_clock_main_CreateInputMaster(), vlc_clock_main_CreateInputSlave(), vlc_clock_main_Lock(), vlc_clock_main_Unlock(), VLC_CLOCK_MASTER_AUDIO, VLC_CLOCK_MASTER_AUTO, VLC_CLOCK_MASTER_INPUT, and VLC_CLOCK_MASTER_MONOTONIC.
Referenced by EsOutVaControlLocked().
|
static |
References EsOutProgramAdd(), and EsOutProgramSearch().
Referenced by EsOutAddLocked(), EsOutProgramEpg(), EsOutProgramEpgEvent(), EsOutProgramMeta(), and EsOutVaControlLocked().
|
static |
References asprintf(), EsOutGlobalMeta(), EsOutIsProgramVisible(), EsOutMeta(), EsOutProgramGetMetaName(), EsOutProgramInsert(), info_category_AddInfo(), info_category_New(), input_item_DelInfo(), input_item_MergeInfos(), input_item_SetPublisher(), input_priv(), input_SendEventMeta(), input_SendEventMetaInfo(), input_SendEventProgramSelect(), input_SendEventProgramUpdated(), msg_Dbg, es_out_sys_t::p_input, input_thread_private_t::p_item, es_out_pgrm_t::p_meta, es_out_sys_t::p_pgrm, strdup(), vlc_gettext(), vlc_meta_CopyExtraNames(), vlc_meta_Delete(), vlc_meta_ESNowPlaying, vlc_meta_Get(), vlc_meta_GetExtra(), vlc_meta_Merge(), vlc_meta_New(), vlc_meta_Publisher, vlc_meta_Title, and vlc_meta_TypeToLocalizedString().
Referenced by EsOutVaControlLocked().
|
static |
References input_clock_ChangeRate(), es_out_pgrm_t::p_input_clock, es_out_sys_t::programs, es_out_sys_t::rate, and vlc_list_foreach.
Referenced by EsOutChangePause(), and EsOutChangeRate().
|
static |
References es_out_pgrm_t::i_id, es_out_sys_t::programs, es_out_pgrm_t::source, and vlc_list_foreach.
Referenced by EsOutProgramDel(), and EsOutProgramInsert().
|
static |
References es_out_sys_t::audio, es_out_pgrm_t::b_scrambled, es_out_pgrm_t::b_selected, ES_OUT_MODE_ALL, EsIsSelected(), EsOutIsGroupSticky(), EsOutSelect(), EsOutSendEsEvent(), EsOutUnselectEs(), EsOutUpdateInfo(), es_out_id_t::fmt, foreach_es_then_es_slaves, es_format_t::i_group, es_out_pgrm_t::i_id, es_out_sys_t::i_mode, es_out_id_t::id, input_item_ChangeEPGSource(), input_item_SetESNowPlaying(), input_item_SetPublisher(), input_item_SetTitle(), input_priv(), input_SendEventMeta(), input_SendEventProgramScrambled(), input_SendEventProgramSelect(), msg_Dbg, es_out_sys_t::p_input, es_out_es_props_t::p_main_es, es_out_pgrm_t::p_meta, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, vlc_es_id_t::source, es_out_sys_t::sub, es_out_sys_t::video, vlc_meta_ESNowPlaying, vlc_meta_Get(), vlc_meta_Publisher, vlc_meta_Title, and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutProgramAdd(), and EsOutVaControlLocked().
|
static |
References _, es_out_pgrm_t::b_scrambled, es_out_id_t::b_scrambled, es_out_sys_t::es, EsOutProgramGetMetaName(), es_out_pgrm_t::i_id, input_item_AddInfo(), input_item_DelInfo(), input_priv(), input_SendEventMetaInfo(), input_SendEventProgramScrambled(), es_out_sys_t::p_input, input_thread_private_t::p_item, es_out_id_t::p_pgrm, vlc_list_foreach, and VLC_SUCCESS.
Referenced by EsOutDelLocked(), and EsOutVaControlLocked().
|
static |
References es_out_es_props_t::ppsz_language, and es_out_es_props_t::str_ids.
Referenced by EsOutDelete().
|
static |
References es_out_es_props_t::b_autoselect, es_out_es_props_t::e_policy, es_out_es_props_t::i_channel, es_out_es_props_t::i_count, es_out_es_props_t::i_demux_id, INPUT_TYPE_PREPARSING, LanguageSplit(), msg_Dbg, es_out_es_props_t::p_main_es, es_out_es_props_t::ppsz_language, es_out_es_props_t::str_ids, var_GetInteger(), var_GetNonEmptyString(), and var_GetString().
Referenced by input_EsOutNew().
|
static |
Select an ES given the current mode XXX: you need to take a the lock before (stream.stream_lock)
out | The es_out structure |
es | es_out_id structure |
b_force | ... |
References es_out_sys_t::b_active, es_out_es_props_t::b_autoselect, es_out_es_props_t::e_policy, ES_OUT_ES_POLICY_AUTO, ES_OUT_ES_POLICY_EXCLUSIVE, ES_OUT_ES_POLICY_SIMULTANEOUS, ES_OUT_MODE_ALL, ES_OUT_MODE_AUTO, ES_OUT_MODE_PARTIAL, EsIsSelected(), EsOutSelectEs(), EsOutSelectHasExplicitParams(), EsOutSelectMatchExplicitParams(), EsOutSelectMatchPrioritized(), EsOutUnselectEs(), es_out_id_t::fmt, GetPropsByCat(), es_format_t::i_cat, es_out_es_props_t::i_demux_id, es_format_t::i_id, es_out_pgrm_t::i_id, es_out_sys_t::i_mode, es_format_t::i_priority, es_out_id_t::id, input_source_IsAutoSelected(), LanguageArrayIndex(), es_out_sys_t::p_input, es_out_es_props_t::p_main_es, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, es_out_es_props_t::ppsz_language, es_out_id_t::psz_language_code, vlc_es_id_t::source, es_out_es_props_t::str_ids, strtok_r(), var_GetNonEmptyString(), and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutAddLocked(), EsOutCreateSubESes(), EsOutDelLocked(), EsOutProgramSelect(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References AUDIO_ES, EsIsSelected(), EsOutCreateDecoder(), EsOutSendEsEvent(), es_out_id_t::fmt, es_format_t::i_cat, es_format_t::i_id, input_priv(), input_SendEventVbiPage(), input_SendEventVbiTransparency(), es_out_sys_t::input_type, INPUT_TYPE_THUMBNAILING, msg_Dbg, msg_Warn, es_out_id_t::p_dec, es_out_sys_t::p_input, es_out_id_t::p_master, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, input_thread_private_t::p_sout, SPU_ES, var_GetBool(), VIDEO_ES, and vlc_input_decoder_GetVbiPage().
Referenced by EsOutSelect(), EsOutSelectList(), EsOutSelectListFromProps(), and EsOutVaControlLocked().
|
static |
References es_out_es_props_t::i_channel, and es_out_es_props_t::str_ids.
Referenced by EsOutSelect().
|
static |
References es_out_es_props_t::e_policy, ES_OUT_ES_POLICY_EXCLUSIVE, EsIsSelected(), EsOutIdMatchEsList(), EsOutSelectEs(), EsOutUnselectEs(), es_out_id_t::fmt, foreach_es_then_es_slaves, GetPropsByCat(), es_format_t::i_cat, es_out_id_t::id, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, VLC_VOUT_ORDER_PRIMARY, and VLC_VOUT_ORDER_SECONDARY.
Referenced by EsOutVaPrivControlLocked().
|
static |
References es_out_es_props_t::e_policy, ES_OUT_ES_POLICY_EXCLUSIVE, EsIsSelected(), EsOutIdMatchStrIds(), EsOutSelectEs(), EsOutUnselectEs(), es_out_id_t::fmt, foreach_es_then_es_slaves, GetPropsByCat(), es_format_t::i_cat, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, es_out_es_props_t::str_ids, and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutVaPrivControlLocked().
|
static |
References EsOutIdMatchStrIds(), es_out_id_t::i_channel, es_out_es_props_t::i_channel, es_out_es_props_t::str_ids, and strdup().
Referenced by EsOutSelect().
|
static |
References ES_PRIORITY_NOT_DEFAULTABLE, es_out_id_t::fmt, es_format_t::i_priority, and es_out_es_props_t::p_main_es.
Referenced by EsOutSelect().
|
static |
Send a block for the given es_out.
out | the es_out to send from |
es | the es_out_id |
p_block | the data block to send |
References input_thread_private_t::b_out_pace_control, block_Duplicate, BLOCK_FLAG_CORRUPTED, BLOCK_FLAG_DISCONTINUITY, BLOCK_FLAG_PREROLL, block_Release, vlc_input_decoder_status::changed, input_stats::demux_bitrate, input_stats::demux_corrupted, input_stats::demux_discontinuity, es_format_Clean(), EsOutCreateSubESes(), EsOutEsUpdateFmt(), EsOutSendEsEvent(), EsOutUpdateInfo(), vlc_input_decoder_status::fmt, vlc_subdec_desc::fmt_count, vlc_input_decoder_status::format, vlc_frame_t::i_buffer, vlc_frame_t::i_dts, vlc_frame_t::i_flags, es_out_pgrm_t::i_last_pcr, vlc_frame_t::i_length, input_source_t::i_normal_time, es_out_sys_t::i_preroll_end, vlc_frame_t::i_pts, es_out_id_t::i_pts_level, es_out_id_t::id, input_priv(), input_rate_Add(), es_out_sys_t::lock, es_out_sys_t::main_source, vlc_input_decoder_status::meta, msg_Dbg, input_thread_t::obj, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, es_out_id_t::p_master, vlc_frame_t::p_next, es_out_sys_t::p_next_frame_es, es_out_id_t::p_pgrm, PRIV(), vlc_es_id_t::source, sout_StreamIsSynchronous(), input_thread_private_t::stats, vlc_es_id_t::str_id, vlc_input_decoder_status::subdec_desc, vlc_input_decoder_Decode(), vlc_input_decoder_DecodeWithStatus(), vlc_meta_Delete(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_get_tracer(), vlc_subdec_desc_Clean(), VLC_SUCCESS, VLC_TICK_0, VLC_TICK_INVALID, vlc_tracer_TraceStreamDTS(), and VLC_VOUT_ORDER_PRIMARY.
|
static |
References es_out_id_t::fmt, es_out_id_t::fmt_out, es_format_t::i_cat, es_format_t::i_codec, es_out_id_t::id, input_SendEventEs(), msg_Dbg, es_out_sys_t::p_input, es_out_id_t::psz_title, vlc_es_id_t::str_id, and UNKNOWN_ES.
Referenced by EsOutAddLocked(), EsOutDelLocked(), EsOutProgramSelect(), EsOutSelectEs(), EsOutSend(), EsOutUnselectEs(), and EsOutVaControlLocked().
|
static |
|
static |
References AUDIO_ES, es_out_id_t::delay, EsOutDecoderChangeDelay(), EsOutUpdateDelayJitter(), es_out_id_t::fmt, es_format_t::i_cat, SPU_ES, and VIDEO_ES.
Referenced by EsOutVaPrivControlLocked().
|
static |
References asprintf(), es_out_sys_t::b_buffering, es_out_sys_t::cc_decoder, config_GetUserDir(), config_StringEscape(), decoder_cbs, es_out_sys_t::es, vlc_input_decoder_cfg::fmt, es_out_id_t::fmt, es_out_id_t::id, input_GetItem(), input_item_CreateFilename(), input_priv(), INPUT_RECORD_PREFIX, INPUT_TYPE_PLAYBACK, es_out_id_t::p_dec, es_out_id_t::p_dec_record, es_out_sys_t::p_input, input_thread_private_t::p_resource, es_out_sys_t::p_sout_record, sout_NewInstance, sout_StreamChainDelete(), vlc_es_id_t::str_id, var_CountChoices(), var_CreateGetNonEmptyString(), VLC_DOWNLOAD_DIR, VLC_EGENERIC, vlc_input_decoder_Delete(), vlc_input_decoder_Flush(), vlc_input_decoder_New(), vlc_input_decoder_StartWait(), vlc_list_foreach, VLC_MUSIC_DIR, VLC_OBJECT, VLC_SUCCESS, and VLC_VIDEOS_DIR.
Referenced by EsOutTerminate(), and EsOutVaPrivControlLocked().
|
static |
|
static |
References EsOutChangePosition(), and es_out_sys_t::p_next_frame_es.
Referenced by EsOutChangePause(), and EsOutUnselectEs().
|
static |
References EsOutSetRecord(), EsRelease(), EsTerminate(), foreach_es_then_es_slaves, es_out_pgrm_t::i_id, input_item_SetEpgOffline(), input_priv(), input_SendEventMetaEpg(), input_SendEventProgramDel(), es_out_pgrm_t::node, es_out_id_t::p_dec, es_out_sys_t::p_input, input_thread_private_t::p_item, es_out_sys_t::p_pgrm, es_out_sys_t::p_sout_record, ProgramDelete(), es_out_sys_t::programs, vlc_input_decoder_Delete(), vlc_input_decoder_Flush(), vlc_list_foreach, and vlc_list_remove().
Referenced by EsOutVaPrivControlLocked().
|
static |
References EsIsSelected(), EsOutDestroyDecoder(), EsOutSendEsEvent(), EsOutStopNextFrame(), es_out_id_t::fmt, es_format_t::i_id, msg_Warn, es_out_sys_t::p_input, es_out_sys_t::p_next_frame_es, and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutDelLocked(), EsOutProgramDel(), EsOutProgramSelect(), EsOutSelect(), EsOutSelectList(), EsOutSelectListFromProps(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References ES_OUT_PRIV_SET_JITTER, EsOutPrivControlLocked(), es_out_sys_t::i_cr_average, es_out_sys_t::i_pts_delay, and es_out_sys_t::i_pts_jitter.
Referenced by EsOutCreateDecoder(), EsOutSetDelay(), and EsOutSetEsDelay().
|
static |
References EsGetTitle(), LanguageGetCode(), LanguageGetName(), es_format_t::psz_language, es_out_id_t::psz_language, es_out_id_t::psz_language_code, and es_out_id_t::psz_title.
Referenced by EsOutAddLocked(), EsOutEsUpdateFmt(), and EsOutVaControlLocked().
|
static |
References _, aout_BitsPerSample(), aout_FormatPrintChannels(), ARRAY_SIZE, es_format_t::audio, AUDIO_ES, es_format_t::audio_replay_gain, AUDIO_REPLAY_GAIN_MAX, AUDIO_REPLAY_GAIN_TRACK, video_format_t::b_multiview_right_eye_first, video_format_t::chroma_location, CHROMA_LOCATION_BOTTOM_CENTER, CHROMA_LOCATION_BOTTOM_LEFT, CHROMA_LOCATION_CENTER, CHROMA_LOCATION_LEFT, CHROMA_LOCATION_MAX, CHROMA_LOCATION_TOP_CENTER, CHROMA_LOCATION_TOP_LEFT, CHROMA_LOCATION_UNDEF, COLOR_PRIMARIES_BT2020, COLOR_PRIMARIES_BT470_M, COLOR_PRIMARIES_BT601_525, COLOR_PRIMARIES_BT601_625, COLOR_PRIMARIES_BT709, COLOR_PRIMARIES_DCI_P3, COLOR_PRIMARIES_MAX, COLOR_PRIMARIES_UNDEF, video_format_t::color_range, COLOR_RANGE_FULL, COLOR_RANGE_LIMITED, COLOR_RANGE_MAX, COLOR_RANGE_UNDEF, COLOR_SPACE_BT2020, COLOR_SPACE_BT601, COLOR_SPACE_BT709, COLOR_SPACE_MAX, COLOR_SPACE_UNDEF, EMPTY_STR, EsInfoCategoryName(), es_out_id_t::fmt, es_out_id_t::fmt_out, vlc_viewpoint_t::fov, es_format_t::i_bitrate, audio_format_t::i_bitspersample, es_format_t::i_cat, audio_format_t::i_channels, es_format_t::i_codec, audio_format_t::i_format, video_format_t::i_frame_rate, video_format_t::i_frame_rate_base, video_format_t::i_height, es_format_t::i_original_fourcc, audio_format_t::i_physical_channels, audio_format_t::i_rate, video_format_t::i_visible_height, video_format_t::i_visible_width, video_format_t::i_width, es_out_id_t::id, info_category_AddCodecInfo(), info_category_AddInfo(), info_category_New(), input_item_ReplaceInfos(), input_item_UpdateTracksInfo(), input_priv(), input_SendEventMetaInfo(), video_format_t::lighting, video_format_t::mastering, video_format_t::max_luminance, video_format_t::MaxCLL, video_format_t::MaxFALL, video_format_t::min_luminance, MULTIVIEW_2D, video_format_t::multiview_mode, MULTIVIEW_STEREO_CHECKERBOARD, MULTIVIEW_STEREO_COL, MULTIVIEW_STEREO_FRAME, MULTIVIEW_STEREO_MAX, MULTIVIEW_STEREO_ROW, MULTIVIEW_STEREO_SBS, MULTIVIEW_STEREO_TB, N_, video_format_t::orientation, es_out_sys_t::p_input, input_thread_private_t::p_item, audio_replay_gain_t::pb_gain, audio_replay_gain_t::pf_gain, vlc_viewpoint_t::pitch, video_format_t::pose, video_format_t::primaries, video_format_t::projection_mode, PROJECTION_MODE_CUBEMAP_LAYOUT_STANDARD, PROJECTION_MODE_EQUIRECTANGULAR, PROJECTION_MODE_RECTANGULAR, es_format_t::psz_description, es_out_id_t::psz_language, psz_name, es_out_id_t::psz_title, psz_value, vlc_viewpoint_t::roll, video_format_t::space, SPU_ES, vlc_es_id_t::stable, vlc_es_id_t::str_id, video_format_t::transfer, TRANSFER_FUNC_BT470_BG, TRANSFER_FUNC_BT470_M, TRANSFER_FUNC_BT709, TRANSFER_FUNC_HLG, TRANSFER_FUNC_LINEAR, TRANSFER_FUNC_MAX, TRANSFER_FUNC_SMPTE_240, TRANSFER_FUNC_SMPTE_ST2084, TRANSFER_FUNC_SRGB, TRANSFER_FUNC_UNDEF, UNKNOWN_ES, unlikely, es_format_t::video, VIDEO_ES, vlc_assert_unreachable, vlc_fourcc_GetDescription(), vlc_gettext(), vlc_meta_CopyExtraNames(), vlc_meta_GetExtra(), vlc_pgettext, vlc_popcount, video_format_t::white_point, and vlc_viewpoint_t::yaw.
Referenced by EsOutAddLocked(), EsOutProgramSelect(), and EsOutSend().
|
static |
Control query handler.
out | the es_out to control |
source | the input source emitting the control request |
i_query | A es_out query as defined in include/ninput.h |
args | a variable list of arguments for the query |
References es_out_pgrm_t::active_clock_source, AUDIO_ES, es_out_sys_t::b_buffering, input_thread_private_t::b_low_delay, input_thread_private_t::b_out_pace_control, es_out_id_t::b_scrambled, es_out_id_t::b_terminated, es_out_es_props_t::e_policy, es_cat, es_format_Clean(), es_format_Copy(), ES_OUT_DEL_GROUP, ES_OUT_GET_EMPTY, ES_OUT_GET_ES_STATE, ES_OUT_POST_SUBNODE, ES_OUT_PRIV_SET_JITTER, ES_OUT_RESET_PCR, ES_OUT_RESTART_ES, ES_OUT_SET_EPG_TIME, ES_OUT_SET_ES, ES_OUT_SET_ES_CAT_POLICY, ES_OUT_SET_ES_DEFAULT, ES_OUT_SET_ES_FMT, ES_OUT_SET_ES_SCRAMBLED_STATE, ES_OUT_SET_ES_STATE, ES_OUT_SET_GROUP, ES_OUT_SET_GROUP_EPG, ES_OUT_SET_GROUP_EPG_EVENT, ES_OUT_SET_GROUP_META, ES_OUT_SET_GROUP_PCR, ES_OUT_SET_META, ES_OUT_SET_NEXT_DISPLAY_TIME, ES_OUT_SET_PCR, ES_OUT_SPU_SET_HIGHLIGHT, ES_OUT_UNSET_ES, ES_OUT_VOUT_ADD_OVERLAY, ES_OUT_VOUT_DEL_OVERLAY, ES_OUT_VOUT_SET_MOUSE_EVENT, EsIsSelected(), EsOutChangePosition(), EsOutControlLocked(), EsOutCreateDecoder(), EsOutDecodersIsEmpty(), EsOutDecodersStopBuffering(), EsOutDestroyDecoder(), EsOutDrainDecoder(), EsOutEpgTime(), EsOutFillEsFmt(), EsOutGlobalMeta(), EsOutIsExtraBufferingAllowed(), EsOutPrivControlLocked(), EsOutProgramAdd(), EsOutProgramDel(), EsOutProgramEpg(), EsOutProgramEpgEvent(), EsOutProgramHandleClockSource(), EsOutProgramInsert(), EsOutProgramMeta(), EsOutProgramSelect(), EsOutProgramUpdateScrambled(), EsOutSelect(), EsOutSelectEs(), EsOutSendEsEvent(), EsOutStopFreeVout(), EsOutUnselectEs(), EsOutUpdateEsLanguageTitle(), es_out_id_t::fmt, foreach_es_then_es_slaves, GetPropsByCat(), es_format_t::i_cat, es_format_t::i_codec, es_out_sys_t::i_cr_average, es_out_es_props_t::i_demux_id, es_format_t::i_group, es_out_sys_t::i_group_id, es_format_t::i_id, es_out_pgrm_t::i_id, input_thread_private_t::i_jitter_max, es_out_pgrm_t::i_last_pcr, es_format_t::i_original_fourcc, es_out_sys_t::i_preroll_end, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, es_out_sys_t::i_tracks_pts_delay, IGNORE_ES, input_CanPaceControl(), input_clock_GetJitter(), input_clock_Update(), input_item_node_Delete(), input_priv(), INPUT_PTS_DELAY_MAX, input_SendEventParsing(), es_out_sys_t::main_source, es_out_id_t::mouse_event_cb, es_out_id_t::mouse_event_userdata, MS_FROM_VLC_TICK, msg_Dbg, msg_Err, input_thread_t::obj, es_out_id_t::p_dec, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_sys_t::p_next_frame_es, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, input_thread_private_t::p_sout, es_out_sys_t::programs, sout_StreamSetPCR(), SPU_ES, es_out_sys_t::sub, UNKNOWN_ES, VIDEO_ES, vlc_assert_unreachable, VLC_CLOCK_MASTER_AUTO, VLC_EGENERIC, vlc_input_decoder_AddVoutOverlay(), vlc_input_decoder_DelVoutOverlay(), vlc_input_decoder_SetSpuHighlight(), vlc_input_decoder_SetVoutMouseEvent(), vlc_list_foreach, VLC_OBJECT, vlc_object_get_tracer(), VLC_SUCCESS, VLC_TICK_INVALID, vlc_tick_now(), vlc_tracer_TracePCR(), and VLC_VOUT_ORDER_PRIMARY.
Referenced by EsOutControl(), and EsOutControlLocked().
|
static |
References es_out_sys_t::b_active, es_out_sys_t::b_buffering, input_thread_private_t::b_out_pace_control, es_out_sys_t::b_paused, es_out_pgrm_t::clocks, count, es_out_sys_t::es, ES_OUT_MODE_ALL, ES_OUT_MODE_AUTO, ES_OUT_MODE_END, ES_OUT_MODE_NONE, ES_OUT_MODE_PARTIAL, ES_OUT_PRIV_GET_BUFFERING, ES_OUT_PRIV_GET_GROUP_FORCED, ES_OUT_PRIV_GET_WAKE_UP, ES_OUT_PRIV_RESTART_ES, ES_OUT_PRIV_SET_DELAY, ES_OUT_PRIV_SET_EOS, ES_OUT_PRIV_SET_ES, ES_OUT_PRIV_SET_ES_CAT_IDS, ES_OUT_PRIV_SET_ES_DELAY, ES_OUT_PRIV_SET_ES_LIST, ES_OUT_PRIV_SET_FRAME_NEXT, ES_OUT_PRIV_SET_JITTER, ES_OUT_PRIV_SET_MODE, ES_OUT_PRIV_SET_PAUSE_STATE, ES_OUT_PRIV_SET_RATE, ES_OUT_PRIV_SET_RECORD_STATE, ES_OUT_PRIV_SET_TIMES, ES_OUT_PRIV_SET_VBI_PAGE, ES_OUT_PRIV_SET_VBI_TRANSPARENCY, ES_OUT_PRIV_START_ALL_ES, ES_OUT_PRIV_STOP_ALL_ES, ES_OUT_PRIV_UNSET_ES, ES_OUT_RESTART_ES, ES_OUT_SET_ES, ES_OUT_UNSET_ES, EsIsSelected(), EsOutChangePause(), EsOutChangeRate(), EsOutControlLocked(), EsOutCreateDecoder(), EsOutDestroyDecoder(), EsOutDrainDecoder(), EsOutFrameNext(), EsOutGetBuffering(), EsOutGetTracksDelay(), EsOutGetWakeup(), EsOutSelect(), EsOutSelectList(), EsOutSelectListFromProps(), EsOutSetDelay(), EsOutSetEsDelay(), EsOutSetRecord(), EsOutStopFreeVout(), EsOutTerminate(), EsOutUnselectEs(), es_out_id_t::fmt, foreach_es_then_es_slaves, GetPropsByCat(), es_format_t::i_cat, es_out_sys_t::i_cr_average, es_out_sys_t::i_group_id, es_out_sys_t::i_mode, input_source_t::i_normal_time, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, es_out_sys_t::i_tracks_pts_delay, es_out_id_t::id, input_clock_SetJitter(), input_priv(), input_SendEventTimes(), input_SendEventVbiPage(), input_SendEventVbiTransparency(), es_out_pgrm_t::main, es_out_sys_t::main_source, es_out_id_t::p_dec, es_out_sys_t::p_input, es_out_pgrm_t::p_input_clock, es_out_sys_t::p_next_frame_es, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, input_thread_private_t::p_sout, es_out_sys_t::programs, es_out_es_props_t::str_ids, strdup(), VIDEO_ES, vlc_alloc(), vlc_assert_unreachable, vlc_clock_main_Lock(), vlc_clock_main_SetInputDejitter(), vlc_clock_main_Unlock(), VLC_EGENERIC, VLC_ENOMEM, vlc_es_id_get_out(), vlc_es_id_Hold(), vlc_es_id_Release(), vlc_input_decoder_IsEmpty(), vlc_input_decoder_SetVbiOpaque(), vlc_input_decoder_SetVbiPage(), vlc_list_foreach, vlc_list_is_empty(), VLC_SUCCESS, VLC_TICK_0, and VLC_TICK_INVALID.
Referenced by EsOutPrivControl(), and EsOutPrivControlLocked().
|
static |
References es_format_Clean(), es_out_id_t::fmt, es_out_id_t::id, input_source_Release(), es_out_id_t::psz_language, es_out_id_t::psz_language_code, es_out_id_t::psz_title, es_out_id_t::rc, vlc_es_id_t::source, vlc_es_id_t::str_id, and vlc_atomic_rc_dec().
Referenced by EsOutDelLocked(), EsOutTerminate(), and vlc_es_id_Release().
|
static |
References es_out_id_t::b_terminated, es_out_id_t::node, and vlc_list_remove().
Referenced by EsOutDelLocked(), and EsOutTerminate().
|
static |
References es_out_sys_t::audio, AUDIO_ES, SPU_ES, es_out_sys_t::sub, es_out_sys_t::video, and VIDEO_ES.
Referenced by EsOutDelLocked(), EsOutSelect(), EsOutSelectList(), EsOutSelectListFromProps(), EsOutVaControlLocked(), and EsOutVaPrivControlLocked().
|
static |
References i_fourcc, info_category_AddInfo(), and VLC_FOURCC.
Referenced by EsOutUpdateInfo().
struct vlc_input_es_out * input_EsOutNew | ( | input_thread_t * | p_input, |
input_source_t * | main_source, | ||
float | rate, | ||
enum input_type input_type input_type | |||
) |
References es_out_sys_t::audio, es_out_sys_t::b_active, es_out_sys_t::b_buffering, es_out_t::cbs, es_out_sys_t::cc_decoder, clock_source_Inherit(), es_out_sys_t::es, es_out_cbs, ES_OUT_ES_POLICY_AUTO, ES_OUT_ES_POLICY_EXCLUSIVE, ES_OUT_MODE_NONE, es_out_sys_t::es_slaves, EsOutPrivControl(), EsOutPropsInit(), es_out_sys_t::i_group_id, es_out_sys_t::i_mode, es_out_sys_t::i_pause_date, es_out_sys_t::i_preroll_end, es_out_sys_t::i_prev_stream_level, es_out_sys_t::input_type, es_out_sys_t::lock, es_out_sys_t::main_source, vlc_input_es_out::ops, es_out_sys_t::out, vlc_input_es_out::out, es_out_sys_t::p_input, es_out_sys_t::p_next_frame_es, vlc_input_es_out_ops::priv_control, es_out_sys_t::programs, es_out_sys_t::rate, es_out_sys_t::sub, es_out_sys_t::user_clock_source, var_GetInteger(), var_InheritInteger(), es_out_sys_t::video, vlc_list_init(), vlc_mutex_init(), and VLC_OBJECT.
Referenced by input_Create().
|
static |
References strcasecmp().
Referenced by EsOutSelect().
|
static |
References iso639_lang_t::psz_iso639_2B, strdup(), and vlc_find_iso639().
Referenced by EsOutUpdateEsLanguageTitle(), and LanguageSplit().
|
static |
References iso639_lang_t::psz_eng_name, strdup(), vlc_find_iso639(), and vlc_gettext().
Referenced by EsOutUpdateEsLanguageTitle().
|
static |
References LanguageGetCode(), strdup(), and TAB_APPEND.
Referenced by EsOutPropsInit().
|
static |
References container_of, and vlc_input_es_out::out.
Referenced by ClockUpdate(), decoder_get_attachments(), decoder_on_new_audio_stats(), decoder_on_new_video_stats(), decoder_on_thumbnail_ready(), decoder_on_vout_started(), decoder_on_vout_stopped(), EsOutAdd(), EsOutControl(), EsOutDel(), EsOutDelete(), EsOutPrivControl(), and EsOutSend().
|
static |
References es_out_pgrm_t::clocks, es_out_pgrm_t::input, input_clock_Delete(), input_source_Release(), es_out_pgrm_t::main, es_out_pgrm_t::p_input_clock, es_out_pgrm_t::p_meta, es_out_pgrm_t::source, vlc_clock_Delete(), vlc_clock_main_Delete(), and vlc_meta_Delete().
Referenced by EsOutProgramDel(), and EsOutTerminate().
es_out_id_t * vlc_es_id_get_out | ( | vlc_es_id_t * | id | ) |
References container_of.
Referenced by EsOutVaPrivControlLocked(), vlc_es_id_Hold(), and vlc_es_id_Release().
enum es_format_category_e vlc_es_id_GetCat | ( | vlc_es_id_t * | id | ) |
Get the ES category.
id | pointer to the ES track id |
Referenced by vlc_player_GetPrivTrack(), vlc_player_input_FindTrackById(), vlc_player_osd_Track(), vlc_player_osd_Tracks(), vlc_player_SelectEsId(), vlc_player_SelectEsIdList(), vlc_player_UnselectEsId(), and vlc_player_UpdateTimerSmpteSource().
int vlc_es_id_GetInputId | ( | vlc_es_id_t * | id | ) |
Get the ES track input id.
id | pointer to the ES track id |
Referenced by Control(), and ControlSetEsList().
const input_source_t * vlc_es_id_GetSource | ( | vlc_es_id_t * | id | ) |
Referenced by Control(), and ControlSetEsList().
const char * vlc_es_id_GetStrId | ( | vlc_es_id_t * | id | ) |
Get the unique string identifier.
This id could be used to identify a track across different playback instances. For example, it can be used to store a track selection preference in a database.
id | pointer to the ES track id |
Referenced by vlc_player_input_GetSelectedTrackStringIds(), and vlc_player_osd_Tracks().
vlc_es_id_t * vlc_es_id_Hold | ( | vlc_es_id_t * | es | ) |
Increase the ES track id reference count.
Any held ES tracks must be released with vlc_es_id_Release().
es | pointer to the ES id |
References EsHold(), and vlc_es_id_get_out().
Referenced by EsOutVaPrivControlLocked(), input_ControlPushEsHelper(), vlc_player_SelectEsIdList(), and vlc_player_track_priv_New().
bool vlc_es_id_IsStrIdStable | ( | vlc_es_id_t * | id | ) |
Return whether the ES track identifier is stable.
An string identifier is stable when it is certified to be the same across different playback instances for the same ES track.
id | pointer to the ES track id |
Referenced by vlc_player_input_GetSelectedTrackStringIds().
void vlc_es_id_Release | ( | vlc_es_id_t * | id | ) |
Decrease the ES track id reference count.
id | pointer to the ES track id |
References EsRelease(), and vlc_es_id_get_out().
Referenced by ControlRelease(), EsOutVaPrivControlLocked(), and vlc_player_track_priv_Delete().
|
static |
Referenced by EsOutCreateDecoder(), and EsOutSetRecord().
|
static |
Referenced by EsOutVaControlLocked().
|
static |
Referenced by input_EsOutNew(), and input_EsOutSourceNew().