VLC  3.0.15
Data Structures | Macros | Functions | Variables
es_out.c File Reference
Include dependency graph for es_out.c:

Data Structures

struct  es_out_pgrm_t
 
struct  es_out_id_t
 
struct  es_out_es_props_t
 
struct  es_out_sys_t
 

Macros

#define IGNORE_ES   DATA_ES
 

Functions

static es_out_id_tEsOutAdd (es_out_t *, const es_format_t *)
 
static int EsOutSend (es_out_t *out, es_out_id_t *es, block_t *p_block)
 Send a block for the given es_out. More...
 
static void EsOutDel (es_out_t *, es_out_id_t *)
 
static int EsOutControl (es_out_t *, int i_query, va_list)
 
static void EsOutDelete (es_out_t *)
 
static void EsOutTerminate (es_out_t *)
 
static void EsOutSelect (es_out_t *out, 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) More...
 
static void EsOutUpdateInfo (es_out_t *, es_out_id_t *es, const es_format_t *, const vlc_meta_t *)
 
static int EsOutSetRecord (es_out_t *, bool b_record)
 
static bool EsIsSelected (es_out_id_t *es)
 
static void EsSelect (es_out_t *out, es_out_id_t *es)
 
static void EsDeleteInfo (es_out_t *, es_out_id_t *es)
 
static void EsUnselect (es_out_t *out, es_out_id_t *es, bool b_update)
 
static void EsOutDecoderChangeDelay (es_out_t *out, es_out_id_t *p_es)
 
static void EsOutDecodersChangePause (es_out_t *out, bool b_paused, mtime_t i_date)
 
static void EsOutProgramChangePause (es_out_t *out, bool b_paused, mtime_t i_date)
 
static void EsOutProgramsChangeRate (es_out_t *out)
 
static void EsOutDecodersStopBuffering (es_out_t *out, bool b_forced)
 
static void EsOutGlobalMeta (es_out_t *p_out, const vlc_meta_t *p_meta)
 
static void EsOutMeta (es_out_t *p_out, const vlc_meta_t *p_meta, const vlc_meta_t *p_progmeta)
 
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 int EsOutGetClosedCaptionsChannel (const es_format_t *p_fmt)
 
static bool EsFmtIsTeletext (const es_format_t *p_fmt)
 
static es_out_es_props_tGetPropsByCat (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 es_out_policy_e e_default_policy, const char *psz_trackidvar, const char *psz_trackvar, const char *psz_langvar, const char *psz_debug)
 
es_out_tinput_EsOutNew (input_thread_t *p_input, int i_rate)
 
static mtime_t EsOutGetWakeup (es_out_t *out)
 
static es_out_id_tEsOutGetFromID (es_out_t *out, int i_id)
 
static bool EsOutDecodersIsEmpty (es_out_t *out)
 
static void EsOutSetDelay (es_out_t *out, int i_cat, int64_t i_delay)
 
static void EsOutChangePause (es_out_t *out, bool b_paused, mtime_t i_date)
 
static void EsOutChangeRate (es_out_t *out, int i_rate)
 
static void EsOutChangePosition (es_out_t *out)
 
static bool EsOutIsExtraBufferingAllowed (es_out_t *out)
 
static void EsOutFrameNext (es_out_t *out)
 
static mtime_t EsOutGetBuffering (es_out_t *out)
 
static void EsOutESVarUpdateGeneric (es_out_t *out, int i_id, const es_format_t *fmt, const char *psz_language, bool b_delete)
 
static void EsOutESVarUpdate (es_out_t *out, es_out_id_t *es, bool b_delete)
 
static bool EsOutIsProgramVisible (es_out_t *out, int i_group)
 
static void EsOutProgramSelect (es_out_t *out, es_out_pgrm_t *p_pgrm)
 
static es_out_pgrm_tEsOutProgramAdd (es_out_t *out, int i_group)
 
static int EsOutProgramDel (es_out_t *out, int i_group)
 
static es_out_pgrm_tEsOutProgramFind (es_out_t *p_out, int i_group)
 
static char * EsOutProgramGetProgramName (es_out_pgrm_t *p_pgrm)
 
static void EsOutProgramMeta (es_out_t *out, int i_group, const vlc_meta_t *p_meta)
 
static void EsOutProgramEpgEvent (es_out_t *out, int i_group, const vlc_epg_event_t *p_event)
 
static void EsOutProgramEpg (es_out_t *out, int i_group, const vlc_epg_t *p_epg)
 
static void EsOutEpgTime (es_out_t *out, int64_t time)
 
static void EsOutProgramUpdateScrambled (es_out_t *p_out, es_out_pgrm_t *p_pgrm)
 
static es_out_id_tEsOutAddSlave (es_out_t *out, const es_format_t *fmt, es_out_id_t *p_master)
 
static void EsCreateDecoder (es_out_t *out, es_out_id_t *p_es)
 
static void EsDestroyDecoder (es_out_t *out, es_out_id_t *p_es)
 
static void EsDeleteCCChannels (es_out_t *out, es_out_id_t *parent)
 
static void EsOutCreateCCChannels (es_out_t *out, vlc_fourcc_t codec, uint64_t i_bitmap, const char *psz_descfmt, es_out_id_t *parent)
 
static int EsOutControlLocked (es_out_t *out, int i_query, va_list args)
 Control query handler. More...
 

Variables

static es_out_id_t es_cat [DATA_ES]
 

Macro Definition Documentation

◆ IGNORE_ES

#define IGNORE_ES   DATA_ES

Function Documentation

◆ EsCreateDecoder()

static void EsCreateDecoder ( es_out_t out,
es_out_id_t p_es 
)
static

References es_out_id_t::p_dec.

Referenced by EsOutControlLocked().

◆ EsDeleteCCChannels()

static void EsDeleteCCChannels ( es_out_t out,
es_out_id_t parent 
)
static

◆ EsDeleteInfo()

static void EsDeleteInfo ( es_out_t out,
es_out_id_t es 
)
static

◆ EsDestroyDecoder()

static void EsDestroyDecoder ( es_out_t out,
es_out_id_t p_es 
)
static

Referenced by EsOutControlLocked().

◆ EsFmtIsTeletext()

static bool EsFmtIsTeletext ( const es_format_t p_fmt)
inlinestatic

◆ EsInfoCategoryName()

static char * EsInfoCategoryName ( es_out_id_t es)
static

◆ EsIsSelected()

static bool EsIsSelected ( es_out_id_t es)
static

◆ EsOutAdd()

static es_out_id_t * EsOutAdd ( es_out_t out,
const es_format_t fmt 
)
static

Referenced by input_EsOutNew().

◆ EsOutAddSlave()

static es_out_id_t* EsOutAddSlave ( es_out_t out,
const es_format_t fmt,
es_out_id_t p_master 
)
static

Referenced by EsIsSelected().

◆ EsOutChangePause()

static void EsOutChangePause ( es_out_t out,
bool  b_paused,
mtime_t  i_date 
)
static

Referenced by EsOutControlLocked().

◆ EsOutChangePosition()

static void EsOutChangePosition ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutChangeRate()

static void EsOutChangeRate ( es_out_t out,
int  i_rate 
)
static

Referenced by EsOutControlLocked().

◆ EsOutControl()

static int EsOutControl ( es_out_t out,
int  i_query,
va_list  args 
)
static

Referenced by input_EsOutNew().

◆ EsOutControlLocked()

static int EsOutControlLocked ( es_out_t out,
int  i_query,
va_list  args 
)
static

Control query handler.

Parameters
outthe es_out to control
i_queryA es_out query as defined in include/ninput.h
argsa variable list of arguments for the query
Returns
VLC_SUCCESS or an error code

< No error

< Unspecified error

< No error

< No error

< No error

< Unspecified error

< No error

< No error

< No error

< No error

< Not enough memory

< No error

< No error

< No error

< Unspecified error

< Unspecified error

< No error

< No error

< No error

< No error

< Unspecified error

< Unspecified error

< No error

< No error

< Unspecified error

< No error

< No error

< No error

< No error

< No error

< No error

< No error

< Unspecified error

< No error

< No error

< No error

< No error

< No error

< No error

< No error

< No error

< No error

< No error

< Unspecified error

< Unspecified error

< No error

< Unspecified error

< Unspecified error

< No error

< No error

< No error

< Unspecified error

References AUDIO_ES, es_out_sys_t::b_active, es_out_sys_t::b_buffering, input_thread_private_t::b_can_pace_control, input_thread_private_t::b_out_pace_control, es_out_id_t::b_scrambled, count, es_out_es_props_t::e_policy, es_out_sys_t::es, es_cat, es_format_Clean(), es_format_Copy(), es_out_Control(), ES_OUT_DEL_GROUP, ES_OUT_GET_BUFFERING, ES_OUT_GET_EMPTY, ES_OUT_GET_ES_OBJECTS_BY_ID, ES_OUT_GET_ES_STATE, ES_OUT_GET_GROUP_FORCED, ES_OUT_GET_PCR_SYSTEM, ES_OUT_GET_WAKE_UP, ES_OUT_MODE_ALL, ES_OUT_MODE_AUTO, ES_OUT_MODE_END, ES_OUT_MODE_NONE, ES_OUT_MODE_PARTIAL, ES_OUT_MODIFY_PCR_SYSTEM, ES_OUT_POST_SUBNODE, ES_OUT_RESET_PCR, ES_OUT_RESTART_ES, ES_OUT_RESTART_ES_BY_ID, ES_OUT_SET_DELAY, ES_OUT_SET_EOS, ES_OUT_SET_EPG_TIME, ES_OUT_SET_ES, ES_OUT_SET_ES_BY_ID, ES_OUT_SET_ES_CAT_POLICY, ES_OUT_SET_ES_DEFAULT, ES_OUT_SET_ES_DEFAULT_BY_ID, ES_OUT_SET_ES_FMT, ES_OUT_SET_ES_SCRAMBLED_STATE, ES_OUT_SET_ES_STATE, ES_OUT_SET_FRAME_NEXT, 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_JITTER, ES_OUT_SET_META, ES_OUT_SET_MODE, ES_OUT_SET_NEXT_DISPLAY_TIME, ES_OUT_SET_PAUSE_STATE, ES_OUT_SET_PCR, ES_OUT_SET_RATE, ES_OUT_SET_RECORD_STATE, ES_OUT_SET_TIME, ES_OUT_SET_TIMES, es_out_SetJitter(), ES_OUT_START_ALL_ES, ES_OUT_STOP_ALL_ES, EsCreateDecoder(), EsDestroyDecoder(), EsIsSelected(), EsOutChangePause(), EsOutChangePosition(), EsOutChangeRate(), EsOutDecodersIsEmpty(), EsOutDecodersStopBuffering(), EsOutEpgTime(), EsOutFrameNext(), EsOutGetBuffering(), EsOutGetFromID(), EsOutGetWakeup(), EsOutGlobalMeta(), EsOutIsExtraBufferingAllowed(), EsOutProgramAdd(), EsOutProgramDel(), EsOutProgramEpg(), EsOutProgramEpgEvent(), EsOutProgramFind(), EsOutProgramMeta(), EsOutProgramSelect(), EsOutProgramUpdateScrambled(), EsOutSelect(), EsOutSetDelay(), EsOutSetRecord(), EsOutTerminate(), EsSelect(), EsUnselect(), es_out_id_t::fmt, GetPropsByCat(), es_format_t::i_cat, es_out_sys_t::i_cr_average, es_out_es_props_t::i_demux_id, es_out_sys_t::i_es, es_out_sys_t::i_group_id, es_out_id_t::i_id, es_out_pgrm_t::i_id, es_out_sys_t::i_mode, es_out_sys_t::i_pgrm, es_out_sys_t::i_preroll_end, es_out_sys_t::i_pts_delay, es_out_sys_t::i_pts_jitter, IGNORE_ES, input_clock_ChangeSystemOrigin(), input_clock_GetJitter(), input_clock_GetSystemOrigin(), input_clock_Reset(), input_clock_SetJitter(), input_clock_Update(), input_DecoderDrain(), input_DecoderGetObjects(), input_item_node_PostAndDelete(), input_priv(), INPUT_PTS_DELAY_MAX, input_resource_TerminateVout(), input_SendEventLength(), input_SendEventPosition(), mdate(), msg_Dbg, msg_Err, es_out_pgrm_t::p_clock, es_out_id_t::p_dec, es_out_sys_t::p_input, es_out_id_t::p_pgrm, es_out_sys_t::p_pgrm, input_thread_private_t::p_resource, input_thread_private_t::p_sout, es_out_t::p_sys, es_out_sys_t::pgrm, SPU_ES, es_out_sys_t::sub, UNKNOWN_ES, var_InheritInteger, VIDEO_ES, vlc_alloc(), vlc_assert_unreachable, VLC_EGENERIC, VLC_ENOMEM, VLC_OBJECT, vlc_object_hold, VLC_SUCCESS, and VLC_TS_INVALID.

◆ 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 
)
static

Referenced by EsOutSend().

◆ EsOutDecoderChangeDelay()

static void EsOutDecoderChangeDelay ( es_out_t out,
es_out_id_t p_es 
)
static

◆ EsOutDecodersChangePause()

static void EsOutDecodersChangePause ( es_out_t out,
bool  b_paused,
mtime_t  i_date 
)
static

◆ EsOutDecodersIsEmpty()

static bool EsOutDecodersIsEmpty ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutDecodersStopBuffering()

static void EsOutDecodersStopBuffering ( es_out_t out,
bool  b_forced 
)
static

Referenced by EsOutControlLocked().

◆ EsOutDel()

static void EsOutDel ( es_out_t out,
es_out_id_t es 
)
static

Referenced by input_EsOutNew().

◆ EsOutDelete()

static void EsOutDelete ( es_out_t out)
static

◆ EsOutEpgTime()

static void EsOutEpgTime ( es_out_t out,
int64_t  time 
)
static

Referenced by EsOutControlLocked().

◆ EsOutESVarUpdate()

static void EsOutESVarUpdate ( es_out_t out,
es_out_id_t es,
bool  b_delete 
)
static

Referenced by EsOutProgramSelect().

◆ EsOutESVarUpdateGeneric()

static void EsOutESVarUpdateGeneric ( es_out_t out,
int  i_id,
const es_format_t fmt,
const char *  psz_language,
bool  b_delete 
)
static

Referenced by EsOutIsProgramVisible().

◆ EsOutFrameNext()

static void EsOutFrameNext ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutGetBuffering()

static mtime_t EsOutGetBuffering ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutGetClosedCaptionsChannel()

static int EsOutGetClosedCaptionsChannel ( const es_format_t p_fmt)
inlinestatic

◆ EsOutGetFromID()

static es_out_id_t* EsOutGetFromID ( es_out_t out,
int  i_id 
)
static

Referenced by EsOutControlLocked().

◆ EsOutGetWakeup()

static mtime_t EsOutGetWakeup ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutGlobalMeta()

static void EsOutGlobalMeta ( es_out_t p_out,
const vlc_meta_t p_meta 
)
static

Referenced by EsOutControlLocked().

◆ EsOutIsExtraBufferingAllowed()

static bool EsOutIsExtraBufferingAllowed ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutIsProgramVisible()

static bool EsOutIsProgramVisible ( es_out_t out,
int  i_group 
)
static

◆ EsOutMeta()

static void EsOutMeta ( es_out_t p_out,
const vlc_meta_t p_meta,
const vlc_meta_t p_progmeta 
)
static

◆ EsOutProgramAdd()

static es_out_pgrm_t* EsOutProgramAdd ( es_out_t out,
int  i_group 
)
static

◆ EsOutProgramChangePause()

static void EsOutProgramChangePause ( es_out_t out,
bool  b_paused,
mtime_t  i_date 
)
static

◆ EsOutProgramDel()

static int EsOutProgramDel ( es_out_t out,
int  i_group 
)
static

◆ EsOutProgramEpg()

static void EsOutProgramEpg ( es_out_t out,
int  i_group,
const vlc_epg_t p_epg 
)
static

Referenced by EsOutControlLocked().

◆ EsOutProgramEpgEvent()

static void EsOutProgramEpgEvent ( es_out_t out,
int  i_group,
const vlc_epg_event_t p_event 
)
static

Referenced by EsOutControlLocked().

◆ EsOutProgramFind()

static es_out_pgrm_t* EsOutProgramFind ( es_out_t p_out,
int  i_group 
)
static

Referenced by EsOutControlLocked().

◆ EsOutProgramGetMetaName()

static char * EsOutProgramGetMetaName ( es_out_pgrm_t p_pgrm)
static

◆ EsOutProgramGetProgramName()

static char* EsOutProgramGetProgramName ( es_out_pgrm_t p_pgrm)
static

◆ EsOutProgramMeta()

static void EsOutProgramMeta ( es_out_t out,
int  i_group,
const vlc_meta_t p_meta 
)
static

Referenced by EsOutControlLocked().

◆ EsOutProgramsChangeRate()

static void EsOutProgramsChangeRate ( es_out_t out)
static

◆ EsOutProgramSelect()

static void EsOutProgramSelect ( es_out_t out,
es_out_pgrm_t p_pgrm 
)
static

◆ EsOutProgramUpdateScrambled()

static void EsOutProgramUpdateScrambled ( es_out_t p_out,
es_out_pgrm_t p_pgrm 
)
static

Referenced by EsOutControlLocked().

◆ EsOutPropsCleanup()

static void EsOutPropsCleanup ( es_out_es_props_t p_props)
static

Referenced by EsOutDelete().

◆ 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 
)
static

Referenced by input_EsOutNew().

◆ EsOutSelect()

static void EsOutSelect ( es_out_t out,
es_out_id_t es,
bool  b_force 
)
static

◆ EsOutSend()

static int EsOutSend ( es_out_t out,
es_out_id_t es,
block_t p_block 
)
static

◆ EsOutSetDelay()

static void EsOutSetDelay ( es_out_t out,
int  i_cat,
int64_t  i_delay 
)
static

Referenced by EsOutControlLocked().

◆ EsOutSetRecord()

static int EsOutSetRecord ( es_out_t out,
bool  b_record 
)
static

< Unspecified error

< Unspecified error

< No error

Referenced by EsOutControlLocked().

◆ EsOutTerminate()

static void EsOutTerminate ( es_out_t out)
static

Referenced by EsOutControlLocked().

◆ EsOutUpdateInfo()

static void EsOutUpdateInfo ( es_out_t out,
es_out_id_t es,
const es_format_t fmt,
const vlc_meta_t p_meta 
)
static

Referenced by EsOutProgramSelect(), and EsOutSend().

◆ EsSelect()

static void EsSelect ( es_out_t out,
es_out_id_t es 
)
static

Referenced by EsOutControlLocked(), and EsOutSelect().

◆ EsUnselect()

static void EsUnselect ( es_out_t out,
es_out_id_t es,
bool  b_update 
)
static

◆ GetPropsByCat()

static es_out_es_props_t* GetPropsByCat ( es_out_sys_t p_sys,
int  i_cat 
)
static

◆ input_EsOutNew()

es_out_t* input_EsOutNew ( input_thread_t p_input,
int  i_rate 
)

◆ LanguageArrayIndex()

static int LanguageArrayIndex ( char **  ppsz_langs,
const char *  psz_lang 
)
static

Referenced by EsOutSelect().

◆ LanguageGetCode()

static char * LanguageGetCode ( const char *  psz_lang)
static

◆ LanguageGetName()

static char * LanguageGetName ( const char *  psz_code)
static

◆ LanguageSplit()

static char ** LanguageSplit ( const char *  psz_langs)
static

Variable Documentation

◆ es_cat

es_out_id_t es_cat[DATA_ES]
static

Referenced by EsOutControlLocked().