VLC 4.0.0-dev
|
Data Structures | |
struct | ts_cmd_header_t |
struct | ts_cmd_add_t |
struct | ts_cmd_del_t |
struct | ts_cmd_send_t |
struct | ts_cmd_control_t |
struct | ts_cmd_privcontrol_t |
union | ts_cmd_t |
struct | ts_storage_t |
struct | ts_thread_t |
struct | es_out_id_t |
struct | es_out_timeshift |
Macros | |
#define | attribute_packed |
#define | MAX_COMMAND_SIZE sizeof(ts_cmd_t) |
#define | TS_STORAGE_COMMAND_PREALLOC 30000 |
Typedefs | |
typedef struct ts_storage_t | ts_storage_t |
Enumerations | |
enum | ts_storage_cmd_type_e { C_ADD = 0 , C_SEND , C_DEL , C_CONTROL , C_PRIVCONTROL } |
Functions | |
static void | Del (es_out_t *, es_out_id_t *) |
static int | TsStart (struct es_out_timeshift *) |
static void | TsAutoStop (es_out_t *) |
static void | TsStop (ts_thread_t *) |
static void | TsPushCmd (ts_thread_t *, ts_cmd_t *) |
static int | TsPopCmdLocked (ts_thread_t *, ts_cmd_t *, bool b_flush) |
static bool | TsHasCmd (ts_thread_t *) |
static bool | TsIsUnused (ts_thread_t *) |
static int | TsChangePause (ts_thread_t *, bool b_source_paused, bool b_paused, vlc_tick_t i_date) |
static int | TsChangeRate (ts_thread_t *, float src_rate, float rate) |
static void * | TsRun (void *) |
static ts_storage_t * | TsStorageNew (const char *psz_path, int64_t i_tmp_size_max) |
static void | TsStorageDelete (ts_storage_t *) |
static void | TsStoragePack (ts_storage_t *p_storage) |
static bool | TsStorageIsFull (ts_storage_t *, const ts_cmd_t *p_cmd) |
static bool | TsStorageIsEmpty (ts_storage_t *) |
static void | TsStoragePushCmd (ts_storage_t *, const ts_cmd_t *p_cmd, bool b_flush) |
static void | TsStoragePopCmd (ts_storage_t *p_storage, ts_cmd_t *p_cmd, bool b_flush) |
static void | CmdClean (ts_cmd_t *) |
static int | CmdInitAdd (ts_cmd_add_t *, input_source_t *, es_out_id_t *, const es_format_t *, bool b_copy) |
static void | CmdInitSend (ts_cmd_send_t *, es_out_id_t *, block_t *) |
static int | CmdInitDel (ts_cmd_del_t *, es_out_id_t *) |
static int | CmdInitControl (ts_cmd_control_t *, input_source_t *, int i_query, va_list, bool b_copy) |
static int | CmdInitPrivControl (ts_cmd_privcontrol_t *, input_source_t *, int i_query, va_list, bool b_copy) |
static void | CmdCleanAdd (ts_cmd_add_t *) |
static void | CmdCleanSend (ts_cmd_send_t *) |
static void | CmdCleanControl (ts_cmd_control_t *) |
static void | CmdCleanPrivControl (ts_cmd_privcontrol_t *) |
static void | CmdExecuteAdd (struct es_out_timeshift *, ts_cmd_add_t *) |
static int | CmdExecuteSend (struct es_out_timeshift *, ts_cmd_send_t *) |
static void | CmdExecuteDel (struct es_out_timeshift *, ts_cmd_del_t *) |
static int | CmdExecuteControl (struct es_out_timeshift *, ts_cmd_control_t *) |
static int | CmdExecutePrivControl (struct es_out_timeshift *, ts_cmd_privcontrol_t *) |
static int | GetTmpFile (char **filename, const char *dirname) |
static struct es_out_timeshift * | PRIV (es_out_t *out) |
static void | Destroy (es_out_t *p_out) |
static es_out_id_t * | Add (es_out_t *p_out, input_source_t *in, const es_format_t *p_fmt) |
static int | Send (es_out_t *p_out, es_out_id_t *p_es, block_t *p_block) |
static int | es_out_in_vaControl (struct vlc_input_es_out *p_out, input_source_t *in, int i_query, va_list args) |
static int | es_out_in_Control (struct vlc_input_es_out *p_out, input_source_t *in, int i_query,...) |
static int | es_out_in_vaPrivControl (struct vlc_input_es_out *out, input_source_t *in, int i_query, va_list args) |
static int | es_out_in_PrivControl (struct vlc_input_es_out *p_out, input_source_t *in, int i_query,...) |
static int | ControlLockedGetEmpty (struct es_out_timeshift *p_sys, input_source_t *in, bool *pb_empty) |
static int | ControlLockedGetWakeup (struct es_out_timeshift *p_sys, input_source_t *in, vlc_tick_t *pi_wakeup) |
static int | ControlLockedGetBuffering (struct es_out_timeshift *p_sys, input_source_t *in, bool *pb_buffering) |
static int | ControlLockedSetPauseState (struct es_out_timeshift *p_sys, input_source_t *in, bool b_source_paused, bool b_paused, vlc_tick_t i_date) |
static int | ControlLockedSetRate (struct es_out_timeshift *p_sys, input_source_t *in, float src_rate, float rate) |
static int | ControlLockedSetFrameNext (struct es_out_timeshift *p_sys, input_source_t *in) |
static int | ControlLocked (es_out_t *p_out, input_source_t *in, int i_query, va_list args) |
static int | Control (es_out_t *p_tsout, input_source_t *in, int i_query, va_list args) |
static int | PrivControlLocked (struct vlc_input_es_out *p_tsout, input_source_t *in, int i_query, va_list args) |
static int | PrivControl (struct vlc_input_es_out *p_tsout, input_source_t *in, int i_query, va_list args) |
struct vlc_input_es_out * | input_EsOutTimeshiftNew (input_thread_t *p_input, struct vlc_input_es_out *p_next_out, float rate) |
static void | TsDestroy (ts_thread_t *p_ts) |
Variables | |
static const struct es_out_callbacks | es_out_timeshift_cbs |
static const size_t | TsStorageSizeofCommand [] |
#define attribute_packed |
#define MAX_COMMAND_SIZE sizeof(ts_cmd_t) |
#define TS_STORAGE_COMMAND_PREALLOC 30000 |
typedef struct ts_storage_t ts_storage_t |
|
static |
|
static |
References ts_cmd_t::add, C_ADD, C_CONTROL, C_DEL, C_PRIVCONTROL, C_SEND, CmdCleanAdd(), CmdCleanControl(), CmdCleanPrivControl(), CmdCleanSend(), ts_cmd_t::control, ts_cmd_t::header, ts_cmd_header_t::i_type, ts_cmd_t::privcontrol, ts_cmd_t::send, and vlc_assert_unreachable.
Referenced by TsPushCmd(), TsRun(), TsStop(), and TsStorageDelete().
|
static |
References es_format_Clean(), ts_cmd_add_t::in, input_source_Release(), and ts_cmd_add_t::p_fmt.
Referenced by CmdClean(), and TsRun().
|
static |
References ts_cmd_control_t::es_fmt, es_format_Clean(), ES_OUT_SET_ES_FMT, ES_OUT_SET_GROUP_EPG, ES_OUT_SET_GROUP_EPG_EVENT, ES_OUT_SET_GROUP_META, ES_OUT_SET_META, ts_cmd_control_t::i_query, ts_cmd_control_t::in, input_source_Release(), ts_cmd_control_t::int_epg, ts_cmd_control_t::int_epg_evt, ts_cmd_control_t::int_meta, ts_cmd_control_t::p_epg, ts_cmd_control_t::p_evt, ts_cmd_control_t::p_fmt, ts_cmd_control_t::p_meta, ts_cmd_control_t::u, vlc_epg_Delete(), vlc_epg_event_Delete(), and vlc_meta_Delete().
Referenced by CmdClean(), and TsRun().
|
static |
References ts_cmd_privcontrol_t::in, and input_source_Release().
Referenced by CmdClean(), and TsRun().
|
static |
References block_Release, and ts_cmd_send_t::p_block.
Referenced by CmdClean(), and TsRun().
|
static |
|
static |
References ts_cmd_control_t::b_bool, ts_cmd_control_t::es_bool, ts_cmd_control_t::es_fmt, ES_OUT_DEL_GROUP, es_out_in_Control(), 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_UNSET_ES, ts_cmd_control_t::es_policy, ts_cmd_control_t::i_cat, ts_cmd_control_t::i_i64, ts_cmd_control_t::i_int, ts_cmd_control_t::i_policy, ts_cmd_control_t::i_query, ts_cmd_control_t::in, ts_cmd_control_t::int_epg, ts_cmd_control_t::int_epg_evt, ts_cmd_control_t::int_i64, ts_cmd_control_t::int_meta, ts_cmd_control_t::p_epg, ts_cmd_control_t::p_es, es_out_id_t::p_es, ts_cmd_control_t::p_evt, ts_cmd_control_t::p_fmt, ts_cmd_control_t::p_meta, es_out_timeshift::p_out, ts_cmd_control_t::u, vlc_assert_unreachable, and VLC_EGENERIC.
Referenced by ControlLocked(), and TsRun().
|
static |
|
static |
References es_out_in_PrivControl(), ES_OUT_PRIV_SET_EOS, ES_OUT_PRIV_SET_JITTER, ES_OUT_PRIV_SET_MODE, ES_OUT_PRIV_SET_TIMES, ts_cmd_privcontrol_t::f_position, ts_cmd_privcontrol_t::i_cr_average, ts_cmd_privcontrol_t::i_int, ts_cmd_privcontrol_t::i_length, ts_cmd_privcontrol_t::i_normal_time, ts_cmd_privcontrol_t::i_pts_delay, ts_cmd_privcontrol_t::i_pts_jitter, ts_cmd_privcontrol_t::i_query, ts_cmd_privcontrol_t::i_time, ts_cmd_privcontrol_t::in, ts_cmd_privcontrol_t::jitter, es_out_timeshift::p_out, ts_cmd_privcontrol_t::times, ts_cmd_privcontrol_t::u, and vlc_assert_unreachable.
Referenced by PrivControlLocked(), and TsRun().
|
static |
|
static |
References C_ADD, es_format_Copy(), ts_cmd_add_t::header, ts_cmd_header_t::i_date, ts_cmd_header_t::i_type, ts_cmd_add_t::in, input_source_Hold(), ts_cmd_add_t::p_es, ts_cmd_add_t::p_fmt, VLC_EGENERIC, VLC_SUCCESS, and vlc_tick_now().
Referenced by Add().
|
static |
References ts_cmd_control_t::b_bool, C_CONTROL, ts_cmd_control_t::es_bool, ts_cmd_control_t::es_fmt, es_format_Copy(), ES_OUT_DEL_GROUP, 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_UNSET_ES, ts_cmd_control_t::es_policy, ts_cmd_control_t::header, ts_cmd_control_t::i_cat, ts_cmd_header_t::i_date, ts_cmd_control_t::i_i64, ts_cmd_control_t::i_int, ts_cmd_control_t::i_policy, ts_cmd_control_t::i_query, ts_cmd_header_t::i_type, ts_cmd_control_t::in, input_source_Hold(), ts_cmd_control_t::int_epg, ts_cmd_control_t::int_epg_evt, ts_cmd_control_t::int_i64, ts_cmd_control_t::int_meta, ts_cmd_control_t::p_epg, ts_cmd_control_t::p_es, ts_cmd_control_t::p_evt, ts_cmd_control_t::p_fmt, ts_cmd_control_t::p_meta, ts_cmd_control_t::u, vlc_assert_unreachable, VLC_EGENERIC, vlc_epg_Duplicate(), vlc_epg_event_Duplicate(), vlc_meta_Merge(), vlc_meta_New(), VLC_SUCCESS, and vlc_tick_now().
Referenced by ControlLocked().
|
static |
References C_DEL, ts_cmd_del_t::header, ts_cmd_header_t::i_date, ts_cmd_header_t::i_type, ts_cmd_del_t::p_es, VLC_SUCCESS, and vlc_tick_now().
Referenced by Del().
|
static |
References C_PRIVCONTROL, ES_OUT_PRIV_SET_EOS, ES_OUT_PRIV_SET_JITTER, ES_OUT_PRIV_SET_MODE, ES_OUT_PRIV_SET_TIMES, ts_cmd_privcontrol_t::f_position, ts_cmd_privcontrol_t::header, ts_cmd_privcontrol_t::i_cr_average, ts_cmd_header_t::i_date, ts_cmd_privcontrol_t::i_int, ts_cmd_privcontrol_t::i_length, ts_cmd_privcontrol_t::i_normal_time, ts_cmd_privcontrol_t::i_pts_delay, ts_cmd_privcontrol_t::i_pts_jitter, ts_cmd_privcontrol_t::i_query, ts_cmd_privcontrol_t::i_time, ts_cmd_header_t::i_type, ts_cmd_privcontrol_t::in, input_source_Hold(), ts_cmd_privcontrol_t::jitter, ts_cmd_privcontrol_t::times, ts_cmd_privcontrol_t::u, vlc_assert_unreachable, VLC_SUCCESS, and vlc_tick_now().
Referenced by PrivControlLocked().
|
static |
References C_SEND, ts_cmd_send_t::header, ts_cmd_header_t::i_date, ts_cmd_header_t::i_type, ts_cmd_send_t::p_block, ts_cmd_send_t::p_es, and vlc_tick_now().
Referenced by Send().
|
static |
References ControlLocked(), es_out_timeshift::lock, PRIV(), TsAutoStop(), vlc_mutex_lock(), and vlc_mutex_unlock().
|
static |
References es_out_timeshift::b_delayed, CmdExecuteControl(), CmdInitControl(), ControlLockedGetEmpty(), ES_OUT_DEL_GROUP, ES_OUT_GET_EMPTY, ES_OUT_GET_ES_STATE, es_out_in_Control(), es_out_in_vaControl(), ES_OUT_POST_SUBNODE, 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, es_out_id_t::p_es, es_out_timeshift::p_out, es_out_timeshift::p_ts, PRIV(), TsPushCmd(), vlc_assert_unreachable, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by Control().
|
static |
References es_out_timeshift::b_delayed, es_out_in_PrivControl(), ES_OUT_PRIV_GET_BUFFERING, es_out_timeshift::p_out, and VLC_SUCCESS.
Referenced by PrivControlLocked().
|
static |
References es_out_timeshift::b_delayed, ES_OUT_GET_EMPTY, es_out_in_Control(), es_out_timeshift::p_out, es_out_timeshift::p_ts, TsHasCmd(), and VLC_SUCCESS.
Referenced by ControlLocked().
|
static |
References es_out_timeshift::b_delayed, es_out_in_PrivControl(), ES_OUT_PRIV_GET_WAKE_UP, input_CanPaceControl(), es_out_timeshift::p_input, es_out_timeshift::p_out, and VLC_SUCCESS.
Referenced by PrivControlLocked().
|
static |
References es_out_in_PrivControl(), ES_OUT_PRIV_SET_FRAME_NEXT, and es_out_timeshift::p_out.
Referenced by PrivControlLocked().
|
static |
References es_out_timeshift::b_delayed, es_out_timeshift::b_input_paused, es_out_timeshift::b_input_paused_source, es_out_in_PrivControl(), ES_OUT_PRIV_SET_PAUSE_STATE, input_CanPaceControl(), msg_Err, es_out_timeshift::p_input, es_out_timeshift::p_out, es_out_timeshift::p_ts, TsChangePause(), TsStart(), and VLC_EGENERIC.
Referenced by PrivControlLocked().
|
static |
References es_out_timeshift::b_delayed, es_out_in_PrivControl(), ES_OUT_PRIV_SET_RATE, input_CanPaceControl(), es_out_timeshift::input_rate, es_out_timeshift::input_rate_source, msg_Err, es_out_timeshift::p_input, es_out_timeshift::p_out, es_out_timeshift::p_ts, TsChangeRate(), TsStart(), and VLC_EGENERIC.
Referenced by PrivControlLocked().
|
static |
References es_out_timeshift::b_delayed, CmdExecuteDel(), CmdInitDel(), es_out_timeshift::lock, es_out_timeshift::p_out, es_out_timeshift::p_ts, PRIV(), TsAutoStop(), TsPushCmd(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by Destroy().
|
static |
|
inlinestatic |
References es_out_in_vaControl(), and es_out_timeshift::p_out.
Referenced by CmdExecuteControl(), ControlLocked(), and ControlLockedGetEmpty().
|
inlinestatic |
|
inlinestatic |
References es_out_t::cbs, es_out_callbacks::control, vlc_input_es_out::out, and es_out_timeshift::p_out.
Referenced by ControlLocked(), and es_out_in_Control().
|
inlinestatic |
References vlc_input_es_out::ops, es_out_timeshift::out, and vlc_input_es_out_ops::priv_control.
Referenced by es_out_in_PrivControl(), and PrivControlLocked().
|
static |
References asprintf(), DIR_SEP, strdup(), unlikely, vlc_mkdir(), and vlc_mkstemp().
Referenced by TsStorageNew().
struct vlc_input_es_out * input_EsOutTimeshiftNew | ( | input_thread_t * | p_input, |
struct vlc_input_es_out * | p_next_out, | ||
float | rate | ||
) |
References es_out_timeshift::b_delayed, es_out_timeshift::b_input_paused, es_out_timeshift::b_input_paused_source, es_out_t::cbs, count, DIR_SEP_CHAR, es_out_timeshift_cbs, es_out_timeshift::i_es, es_out_timeshift::i_tmp_size_max, es_out_timeshift::input_rate, es_out_timeshift::input_rate_source, es_out_timeshift::lock, msg_Dbg, vlc_input_es_out::ops, vlc_input_es_out::out, es_out_timeshift::out, es_out_timeshift::p_input, es_out_timeshift::p_out, es_out_timeshift::p_ts, es_out_timeshift::pp_es, vlc_input_es_out_ops::priv_control, PrivControl(), es_out_timeshift::psz_tmp_path, strdup(), TAB_INIT, var_CreateGetInteger(), var_InheritString(), vlc_alloc(), and vlc_mutex_init_recursive().
Referenced by Init().
|
static |
References container_of, vlc_input_es_out::out, and es_out_timeshift::out.
Referenced by Add(), Control(), ControlLocked(), Del(), Destroy(), PrivControl(), PrivControlLocked(), Send(), and TsAutoStop().
|
static |
References es_out_timeshift::lock, vlc_input_es_out::out, PRIV(), PrivControlLocked(), TsAutoStop(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by input_EsOutTimeshiftNew().
|
static |
References es_out_timeshift::b_delayed, CmdExecutePrivControl(), CmdInitPrivControl(), ControlLockedGetBuffering(), ControlLockedGetWakeup(), ControlLockedSetFrameNext(), ControlLockedSetPauseState(), ControlLockedSetRate(), es_out_in_vaPrivControl(), 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, vlc_input_es_out::out, es_out_timeshift::p_out, es_out_timeshift::p_ts, PRIV(), ts_cmd_t::privcontrol, TsPushCmd(), vlc_assert_unreachable, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by PrivControl().
|
static |
|
static |
References es_out_timeshift::b_delayed, msg_Warn, es_out_timeshift::p_input, es_out_timeshift::p_out, es_out_timeshift::p_ts, PRIV(), TsIsUnused(), and TsStop().
Referenced by Add(), Control(), Del(), PrivControl(), and Send().
|
static |
|
static |
|
static |
|
static |
References ts_thread_t::lock, ts_thread_t::p_storage_r, es_out_timeshift::p_ts, TsStorageIsEmpty(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ControlLockedGetEmpty().
|
static |
References ts_thread_t::b_paused, ts_thread_t::lock, ts_thread_t::p_storage_r, es_out_timeshift::p_ts, ts_thread_t::rate, ts_thread_t::rate_source, TsStorageIsEmpty(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by TsAutoStop().
|
static |
|
static |
References CmdClean(), ts_thread_t::i_tmp_size_max, ts_thread_t::lock, ts_storage_t::p_next, ts_thread_t::p_storage_r, ts_thread_t::p_storage_w, es_out_timeshift::p_ts, ts_thread_t::psz_tmp_path, TsStorageIsFull(), TsStorageNew(), TsStoragePack(), TsStoragePushCmd(), vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), and ts_thread_t::wait.
Referenced by Add(), ControlLocked(), Del(), PrivControlLocked(), and Send().
|
static |
References ts_cmd_t::add, ts_thread_t::b_paused, C_ADD, C_CONTROL, C_DEL, C_PRIVCONTROL, C_SEND, CmdClean(), CmdCleanAdd(), CmdCleanControl(), CmdCleanPrivControl(), CmdCleanSend(), CmdExecuteAdd(), CmdExecuteControl(), CmdExecuteDel(), CmdExecutePrivControl(), CmdExecuteSend(), ts_cmd_t::control, ts_cmd_t::del, ts_thread_t::done, es_out_GetBuffering(), es_out_SetRate(), vlc_value_t::f_float, ts_cmd_t::header, ts_thread_t::i_buffering_delay, ts_thread_t::i_cmd_delay, ts_cmd_header_t::i_date, ts_thread_t::i_rate_date, ts_thread_t::i_rate_delay, ts_cmd_header_t::i_type, INPUT_CONTROL_SET_RATE, input_ControlPushHelper(), ts_thread_t::lock, msg_Warn, ts_thread_t::p_input, ts_thread_t::p_out, es_out_timeshift::p_ts, ts_cmd_t::privcontrol, ts_thread_t::rate, ts_thread_t::rate_source, ts_cmd_t::send, ts_thread_t::ts, TsPopCmdLocked(), vlc_assert_unreachable, vlc_cond_wait(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_sem_timedwait(), vlc_sem_trywait(), vlc_thread_set_name(), and ts_thread_t::wait.
Referenced by TsStart().
|
static |
References es_out_timeshift::b_delayed, es_out_timeshift::b_input_paused, es_out_timeshift::b_input_paused_source, ts_thread_t::b_paused, ts_thread_t::done, ts_thread_t::i_buffering_delay, ts_thread_t::i_cmd_delay, ts_thread_t::i_pause_date, ts_thread_t::i_rate_date, ts_thread_t::i_rate_delay, ts_thread_t::i_tmp_size_max, es_out_timeshift::i_tmp_size_max, es_out_timeshift::input_rate, es_out_timeshift::input_rate_source, ts_thread_t::lock, msg_Err, vlc_input_es_out::out, es_out_timeshift::out, ts_thread_t::p_input, es_out_timeshift::p_input, ts_thread_t::p_out, es_out_timeshift::p_out, ts_thread_t::p_storage_r, ts_thread_t::p_storage_w, es_out_timeshift::p_ts, ts_thread_t::p_tsout, ts_thread_t::psz_tmp_path, es_out_timeshift::psz_tmp_path, ts_thread_t::rate, ts_thread_t::rate_source, ts_thread_t::thread, ts_thread_t::ts, TsDestroy(), TsRun(), vlc_clone(), vlc_cond_init(), VLC_EGENERIC, vlc_mutex_init(), vlc_sem_init(), VLC_SUCCESS, vlc_tick_now(), and ts_thread_t::wait.
Referenced by ControlLockedSetPauseState(), and ControlLockedSetRate().
|
static |
References CmdClean(), ts_thread_t::done, ts_thread_t::lock, ts_storage_t::p_next, ts_thread_t::p_storage_r, es_out_timeshift::p_ts, ts_thread_t::thread, TsDestroy(), TsPopCmdLocked(), TsStorageDelete(), vlc_cond_signal(), vlc_join(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_sem_post(), and ts_thread_t::wait.
Referenced by Destroy(), and TsAutoStop().
|
static |
References CmdClean(), ts_storage_t::p_cmd_buf, ts_storage_t::p_cmd_r, ts_storage_t::p_cmd_w, ts_storage_t::p_filer, ts_storage_t::p_filew, TsStoragePopCmd(), and vlc_unlink().
Referenced by TsPopCmdLocked(), TsStop(), and TsStorageNew().
|
static |
References ts_storage_t::p_cmd_r, and ts_storage_t::p_cmd_w.
Referenced by TsHasCmd(), TsIsUnused(), TsPopCmdLocked(), and TsStoragePopCmd().
|
static |
References C_SEND, ts_cmd_t::header, vlc_frame_t::i_buffer, ts_storage_t::i_cmd_buf, ts_storage_t::i_file_max, ts_storage_t::i_file_size, ts_cmd_header_t::i_type, MAX_COMMAND_SIZE, ts_cmd_send_t::p_block, ts_storage_t::p_cmd_buf, ts_storage_t::p_cmd_w, and ts_cmd_t::send.
Referenced by TsPushCmd(), and TsStoragePushCmd().
|
static |
References GetTmpFile(), ts_storage_t::i_cmd_buf, ts_storage_t::i_file_max, ts_storage_t::i_file_size, es_out_timeshift::i_tmp_size_max, MAX_COMMAND_SIZE, ts_storage_t::p_cmd_buf, ts_storage_t::p_cmd_r, ts_storage_t::p_cmd_w, ts_storage_t::p_filer, ts_storage_t::p_filew, ts_storage_t::p_next, es_out_timeshift::psz_tmp_path, TS_STORAGE_COMMAND_PREALLOC, TsStorageDelete(), unlikely, vlc_alloc(), vlc_close(), vlc_fopen(), and vlc_unlink().
Referenced by TsPushCmd().
|
static |
References ts_storage_t::i_cmd_buf, ts_storage_t::p_cmd_buf, ts_storage_t::p_cmd_r, and ts_storage_t::p_cmd_w.
Referenced by TsPushCmd().
|
static |
References block_Alloc, C_SEND, ts_cmd_t::header, vlc_frame_t::i_buffer, vlc_frame_t::i_dts, vlc_frame_t::i_flags, vlc_frame_t::i_length, vlc_frame_t::i_nb_samples, ts_cmd_send_t::i_offset, vlc_frame_t::i_pts, ts_cmd_header_t::i_type, ts_cmd_send_t::p_block, vlc_frame_t::p_buffer, ts_storage_t::p_cmd_r, ts_storage_t::p_filer, ts_cmd_t::send, TsStorageIsEmpty(), and TsStorageSizeofCommand.
Referenced by TsPopCmdLocked(), and TsStorageDelete().
|
static |
References block_Release, C_SEND, ts_cmd_t::header, vlc_frame_t::i_buffer, ts_storage_t::i_file_size, ts_cmd_send_t::i_offset, ts_cmd_header_t::i_type, ts_cmd_send_t::p_block, vlc_frame_t::p_buffer, ts_storage_t::p_cmd_w, ts_storage_t::p_filew, ts_cmd_t::send, TsStorageIsFull(), and TsStorageSizeofCommand.
Referenced by TsPushCmd().
|
static |
Referenced by input_EsOutTimeshiftNew().
|
static |
Referenced by TsStoragePopCmd(), and TsStoragePushCmd().