Go to the documentation of this file.
23 #ifndef LIBVLC_INPUT_EVENT_H
24 #define LIBVLC_INPUT_EVENT_H 1
53 .capabilities = i_capabilities
64 .times = { f_position, i_time, i_normal_time, i_length }
73 unsigned frame_rate_base)
77 .output_clock = { id, master, system_ts, ts, rate,
78 frame_rate, frame_rate_base }
104 .record = b_recording
118 int i_title,
int i_seekpoint)
122 .chapter = { i_title, i_seekpoint }
127 double f_quality,
double f_strength)
131 .signal = { f_quality, f_strength }
140 .state = { i_state, state_date, },
185 int i_program,
const char *psz_text)
190 .action = VLC_INPUT_PROGRAM_ADDED,
197 int i_program,
const char *psz_text)
202 .action = VLC_INPUT_PROGRAM_UPDATED,
214 .action = VLC_INPUT_PROGRAM_DELETED,
225 .action = VLC_INPUT_PROGRAM_SELECTED,
231 int i_group,
bool b_scrambled)
236 .action = VLC_INPUT_PROGRAM_SCRAMBLED,
238 .scrambled = b_scrambled
274 .vbi_transparent = transparent,
static int ControlLockedGetWakeup(es_out_t *p_out, vlc_tick_t *pi_wakeup)
Definition: es_out_timeshift.c:543
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
es_out_t * p_out
Definition: es_out_timeshift.c:255
static void input_SendEventOutputClock(input_thread_t *p_input, vlc_es_id_t *id, bool master, vlc_tick_t system_ts, vlc_tick_t ts, double rate, unsigned frame_rate, unsigned frame_rate_base)
Definition: event.h:68
size_t count
Definition: core.c:401
static int ControlLockedSetRate(es_out_t *p_out, float src_rate, float rate)
Definition: es_out_timeshift.c:605
float rate_source
Definition: es_out_timeshift.c:232
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:61
uint8_t * p_cmd_r
Definition: es_out_timeshift.c:206
float input_rate
Definition: es_out_timeshift.c:271
static void EsOutSourceDel(es_out_t *out, es_out_id_t *es)
Definition: es_out_source.c:60
input_thread_t * p_input
Definition: es_out.c:174
@ ES_OUT_PRIV_SET_VBI_TRANSPARENCY
Definition: es_out.h:99
Definition: es_out_timeshift.c:77
static void input_SendEventVbiTransparency(input_thread_t *p_input, bool transparent)
Definition: event.h:269
es_out_t * p_tsout
Definition: es_out_timeshift.c:216
@ ES_OUT_MODIFY_PCR_SYSTEM
Definition: vlc_es_out.h:100
ts_thread_t * p_ts
Definition: es_out_timeshift.c:266
static void input_SendEventMetaEpg(input_thread_t *p_input)
Definition: event.h:166
es_out_id_t *(* add)(es_out_t *, input_source_t *in, const es_format_t *)
Definition: vlc_es_out.h:132
input_thread_t * p_input
Definition: es_out_timeshift.c:215
static int ControlLockedGetBuffering(es_out_t *p_out, bool *pb_buffering)
Definition: es_out_timeshift.c:559
static int Send(es_out_t *p_out, es_out_id_t *p_es, block_t *p_block)
Definition: es_out_timeshift.c:472
@ ES_OUT_SET_GROUP_EPG_EVENT
Definition: vlc_es_out.h:79
static void input_SendEventVbiPage(input_thread_t *p_input, unsigned page)
Definition: event.h:261
static void input_SendEventDead(input_thread_t *p_input)
Definition: event.h:41
static void input_SendEventSignal(input_thread_t *p_input, double f_quality, double f_strength)
Definition: event.h:126
@ ES_OUT_SET_META
Definition: vlc_es_out.h:96
es_out_t * p_out
Definition: es_out_timeshift.c:217
block_t * p_block
Definition: es_out_timeshift.c:96
static void input_SendEventMeta(input_thread_t *p_input)
Definition: event.h:152
struct ts_cmd_control_t::@16::@20 int_epg_evt
vlc_meta_t * p_meta
Definition: es_out_timeshift.c:121
Definition: vlc_subpicture.h:85
es_out_t out
Definition: es_out.c:231
int i_cr_average
Definition: es_out_timeshift.c:163
es_out_id_t * p_es
Definition: es_out_timeshift.c:94
void vlc_sem_init(vlc_sem_t *sem, unsigned value)
Initializes a semaphore.
Definition: threads.c:442
static void input_SendEventProgramSelect(input_thread_t *p_input, int i_program)
Definition: event.h:219
float input_rate_source
Definition: es_out_timeshift.c:272
static ts_storage_t * TsStorageNew(const char *psz_path, int64_t i_tmp_size_max)
Definition: es_out_timeshift.c:1212
static int TsChangeRate(ts_thread_t *, float src_rate, float rate)
Definition: es_out_timeshift.c:1072
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
@ ES_OUT_PRIV_GET_WAKE_UP
Definition: es_out.h:49
static void input_SendEventSeekpoint(input_thread_t *p_input, int i_title, int i_seekpoint)
Definition: event.h:117
ts_storage_t * p_storage_w
Definition: es_out_timeshift.c:241
vlc_tick_t i_rate_delay
Definition: es_out_timeshift.c:234
@ ES_OUT_VOUT_SET_MOUSE_EVENT
Definition: vlc_es_out.h:104
static int CmdExecuteSend(es_out_t *, ts_cmd_send_t *)
Definition: es_out_timeshift.c:1472
static void CmdClean(ts_cmd_t *)
Definition: es_out_timeshift.c:1406
@ ES_OUT_DEL_GROUP
Definition: vlc_es_out.h:83
vlc_tick_t i_pts_delay
Definition: es_out_timeshift.c:161
static void input_SendEventVout(input_thread_t *p_input, const struct vlc_input_event_vout *event)
Definition: event.h:281
#define DIR_SEP
Definition: vlc_common.h:1221
static void input_SendEventProgramDel(input_thread_t *p_input, int i_program)
Definition: event.h:208
@ ES_OUT_PRIV_UNSET_ES
Definition: es_out.h:45
int vlc_mkstemp(char *template)
Definition: filesystem.c:204
@ ES_OUT_SET_NEXT_DISPLAY_TIME
Definition: vlc_es_out.h:74
@ ES_OUT_PRIV_STOP_ALL_ES
Definition: es_out.h:58
@ ES_OUT_VOUT_DEL_OVERLAY
Definition: vlc_es_out.h:111
vlc_mutex_t lock
Definition: es_out.c:179
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:328
@ ES_OUT_PRIV_SET_VBI_PAGE
Definition: es_out.h:96
struct ts_cmd_privcontrol_t::@24::@26 times
vlc_tick_t i_time
Definition: es_out_timeshift.c:168
static void input_SendEventProgramScrambled(input_thread_t *p_input, int i_group, bool b_scrambled)
Definition: event.h:230
static void input_SendEventTimes(input_thread_t *p_input, double f_position, vlc_tick_t i_time, vlc_tick_t i_normal_time, vlc_tick_t i_length)
Definition: event.h:57
size_t i_buffer
Payload length.
Definition: vlc_block.h:122
input_source_t * in
Definition: es_out_timeshift.c:105
static vlc_tick_t es_out_GetWakeup(es_out_t *p_out)
Definition: es_out.h:134
es_out_t * input_EsOutSourceNew(es_out_t *parent_out, input_source_t *in)
Definition: es_out_source.c:80
ts_storage_t * p_storage_r
Definition: es_out_timeshift.c:240
static void TsAutoStop(es_out_t *)
Definition: es_out_timeshift.c:925
@ ES_OUT_GET_ES_STATE
Definition: vlc_es_out.h:51
bool b_input_paused_source
Definition: es_out_timeshift.c:270
static int es_out_vaPrivControl(es_out_t *out, int query, va_list args)
Definition: es_out.h:102
static void CmdInitSend(ts_cmd_send_t *, es_out_id_t *, block_t *)
Definition: es_out_timeshift.c:1465
struct ts_cmd_privcontrol_t::@24::@25 jitter
Definition: es_out_timeshift.c:192
static const struct es_out_callbacks es_out_cbs
Definition: es_out.c:527
@ ES_OUT_SET_EPG_TIME
Definition: vlc_es_out.h:80
@ ES_OUT_PRIV_SET_ES
Definition: es_out.h:44
@ ES_OUT_SET_ES_SCRAMBLED_STATE
Definition: vlc_es_out.h:86
void vlc_cond_wait(vlc_cond_t *cond, vlc_mutex_t *mutex)
Waits on a condition variable.
Definition: threads.c:340
vlc_tick_t i_pause_date
Definition: es_out_timeshift.c:228
ts_cmd_header_t header
Definition: es_out_timeshift.c:103
@ ES_OUT_PRIV_START_ALL_ES
Definition: es_out.h:60
static void TsStoragePopCmd(ts_storage_t *p_storage, ts_cmd_t *p_cmd, bool b_flush)
Definition: es_out_timeshift.c:1366
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
static void input_SendEventMetaInfo(input_thread_t *p_input)
Definition: event.h:159
@ ES_OUT_PRIV_SET_DELAY
Definition: es_out.h:69
@ ES_OUT_PRIV_SET_TIMES
Definition: es_out.h:84
int vlc_mkdir(const char *dirname, mode_t mode)
Creates a directory.
Definition: filesystem.c:96
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
static void TsStop(ts_thread_t *)
Definition: es_out_timeshift.c:937
int(* control)(es_out_t *, input_source_t *in, int query, va_list)
Definition: vlc_es_out.h:135
vlc_epg_event_t * p_evt
Definition: es_out_timeshift.c:131
static es_out_id_t * EsOutSourceAdd(es_out_t *out, input_source_t *in, const es_format_t *fmt)
Definition: es_out_source.c:46
static const struct es_out_callbacks es_out_timeshift_cbs
Definition: es_out_timeshift.c:327
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
int64_t i_file_size
Definition: es_out_timeshift.c:201
static int CmdInitAdd(ts_cmd_add_t *, input_source_t *, es_out_id_t *, const es_format_t *, bool b_copy)
Definition: es_out_timeshift.c:1429
@ ES_OUT_SET_GROUP
Definition: vlc_es_out.h:57
Definition: es_out_timeshift.c:91
vlc_cond_t wait
Definition: es_out_timeshift.c:223
es_out_t * input_EsOutTimeshiftNew(input_thread_t *p_input, es_out_t *p_next_out, float rate)
Definition: es_out_timeshift.c:332
ts_cmd_del_t del
Definition: es_out_timeshift.c:179
vlc_tick_t i_length
Definition: vlc_block.h:131
int i_cat
Definition: es_out_timeshift.c:145
@ ES_OUT_GET_PCR_SYSTEM
Definition: vlc_es_out.h:99
ts_storage_t * p_next
Definition: es_out_timeshift.c:194
es_format_t * p_fmt
Definition: es_out_timeshift.c:141
static void Destroy(es_out_t *p_out)
Definition: es_out_timeshift.c:425
Definition: es_out_timeshift.c:101
@ C_SEND
Definition: es_out_timeshift.c:65
int asprintf(char **, const char *,...)
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:253
vlc_tick_t i_normal_time
Definition: es_out_timeshift.c:169
ts_cmd_control_t control
Definition: es_out_timeshift.c:181
Mutex.
Definition: vlc_threads.h:225
static void TsDestroy(ts_thread_t *p_ts)
Definition: es_out_timeshift.c:878
static void input_SendEventStatistics(input_thread_t *p_input, const struct input_stats_t *stats)
Definition: event.h:82
@ ES_OUT_SPU_SET_HIGHLIGHT
Definition: vlc_es_out.h:114
static int TsChangePause(ts_thread_t *, bool b_source_paused, bool b_paused, vlc_tick_t i_date)
Definition: es_out_timeshift.c:1040
const struct es_out_callbacks * cbs
Definition: vlc_es_out.h:145
@ ES_OUT_PRIV_SET_PAUSE_STATE
Definition: es_out.h:75
vlc_sem_t done
Definition: es_out_timeshift.c:224
@ C_ADD
Definition: es_out_timeshift.c:64
@ ES_OUT_SET_ES_DEFAULT
Definition: vlc_es_out.h:46
size_t i_file_max
Definition: es_out_timeshift.c:200
@ C_PRIVCONTROL
Definition: es_out_timeshift.c:68
vlc_tick_t i_buffering_delay
Definition: es_out_timeshift.c:237
@ ES_OUT_PRIV_SET_MODE
Definition: es_out.h:41
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
es_out_id_t * p_es
Definition: es_out_timeshift.c:249
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
es_out_id_t * p_es
Definition: es_out_timeshift.c:88
Definition: vlc_es_out.h:143
Definition: es_out_timeshift.c:85
static int GetTmpFile(char **ppsz_file, const char *psz_path)
Definition: es_out_timeshift.c:1824
@ ES_OUT_PRIV_SET_JITTER
Definition: es_out.h:87
static void CmdExecuteAdd(es_out_t *, ts_cmd_add_t *)
Definition: es_out_timeshift.c:1450
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
void vlc_mutex_init_recursive(vlc_mutex_t *mtx)
Initializes a recursive mutex.
Definition: threads.c:128
static int es_out_SetPauseState(es_out_t *p_out, bool b_source_paused, bool b_paused, vlc_tick_t i_date)
Definition: es_out.h:194
static int PrivControlLocked(es_out_t *p_tsout, int i_query, va_list args)
Definition: es_out_timeshift.c:779
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:49
static bool TsHasCmd(ts_thread_t *)
Definition: es_out_timeshift.c:1018
static void TsStoragePack(ts_storage_t *p_storage)
Definition: es_out_timeshift.c:1294
static void input_SendEventProgramUpdated(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.h:196
static int ControlLockedSetPauseState(es_out_t *p_out, bool b_source_paused, bool b_paused, vlc_tick_t i_date)
Definition: es_out_timeshift.c:570
static int64_t var_CreateGetInteger(vlc_object_t *p_obj, const char *psz_name)
Create a integer variable with inherit and get its value.
Definition: vlc_variables.h:523
static void Del(es_out_t *, es_out_id_t *)
Definition: es_out_timeshift.c:492
vlc_tick_t i_cmd_delay
Definition: es_out_timeshift.c:243
struct ts_cmd_control_t::@16::@22 es_fmt
static int es_out_SetRate(es_out_t *p_out, float source_rate, float rate)
Definition: es_out.h:198
int64_t i_i64
Definition: es_out_timeshift.c:111
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
static int Control(es_out_t *p_tsout, input_source_t *in, int i_query, va_list args)
Definition: es_out_timeshift.c:763
vlc_mutex_t lock
Definition: es_out_timeshift.c:222
vlc_tick_t i_rate_date
Definition: es_out_timeshift.c:233
@ ES_OUT_PRIV_SET_FRAME_NEXT
Definition: es_out.h:81
static int TsStart(es_out_t *)
Definition: es_out_timeshift.c:882
float f_float
Definition: vlc_common.h:461
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
ts_cmd_send_t send
Definition: es_out_timeshift.c:180
block_t * block_Alloc(size_t size)
Allocates a block.
Definition: block.c:108
uint32_t i_flags
Definition: vlc_block.h:126
Video subtitle.
Definition: vlc_subpicture.h:166
static int CmdInitDel(ts_cmd_del_t *, es_out_id_t *)
Definition: es_out_timeshift.c:1493
vlc_tick_t i_length
Definition: es_out_timeshift.c:170
static void input_SendEventTitle(input_thread_t *p_input, const struct vlc_input_event_title *title)
Definition: event.h:108
FILE * p_filew
Definition: es_out_timeshift.c:202
int i_offset
Definition: es_out_timeshift.c:97
static es_out_id_t * Add(es_out_t *p_out, input_source_t *in, const es_format_t *p_fmt)
Definition: es_out_timeshift.c:443
@ ES_OUT_SET_ES
Definition: vlc_es_out.h:41
vlc_thread_t thread
Definition: es_out_timeshift.c:214
unsigned i_nb_samples
Definition: vlc_block.h:127
static void input_SendEventCapabilities(input_thread_t *p_input, int i_capabilities)
Definition: event.h:48
vlc_mutex_t lock
Definition: rand.c:50
static void input_SendEventProgramAdd(input_thread_t *p_input, int i_program, const char *psz_text)
Definition: event.h:184
static int CmdExecuteControl(es_out_t *, ts_cmd_control_t *)
Definition: es_out_timeshift.c:1652
int vlc_close(int fd)
Closes a file descriptor.
Definition: filesystem.c:91
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:79
ts_cmd_privcontrol_t privcontrol
Definition: es_out_timeshift.c:182
uint8_t * p_cmd_buf
Definition: es_out_timeshift.c:208
ts_cmd_header_t header
Definition: es_out_timeshift.c:177
static void input_SendEventEs(input_thread_t *p_input, const struct vlc_input_event_es *es_event)
Definition: event.h:243
static int ControlLockedSetFrameNext(es_out_t *p_out)
Definition: es_out_timeshift.c:641
bool b_paused
Definition: es_out_timeshift.c:227
Thread handle.
Definition: vlc_threads.h:180
static int CmdInitControl(ts_cmd_control_t *, input_source_t *, int i_query, va_list, bool b_copy)
Definition: es_out_timeshift.c:1509
float rate
Definition: es_out_timeshift.c:231
@ ES_OUT_SET_ES_STATE
Definition: vlc_es_out.h:50
static void TsStoragePushCmd(ts_storage_t *, const ts_cmd_t *p_cmd, bool b_flush)
Definition: es_out_timeshift.c:1328
static void EsOutSourceDestroy(es_out_t *out)
Definition: es_out_source.c:74
static bool es_out_GetBuffering(es_out_t *p_out)
Definition: es_out.h:164
es_out_id_t ** pp_es
Definition: es_out_timeshift.c:276
vlc_tick_t i_pts
Definition: vlc_block.h:129
Definition: vlc_es_out.h:130
bool b_bool
Definition: es_out_timeshift.c:109
@ ES_OUT_GET_EMPTY
Definition: vlc_es_out.h:93
#define MAX_COMMAND_SIZE
Definition: es_out_timeshift.c:1200
struct ts_cmd_control_t::@16::@17 int_i64
static int ControlLockedGetEmpty(es_out_t *p_out, input_source_t *in, bool *pb_empty)
Definition: es_out_timeshift.c:528
static void input_SendEventSubsFPS(input_thread_t *p_input, float fps)
Definition: event.h:173
#define static_assert
Definition: vlc_fixups.h:370
@ ES_OUT_PRIV_RESTART_ES
Definition: es_out.h:46
static void * TsRun(void *)
Definition: es_out_timeshift.c:1090
ts_cmd_header_t header
Definition: es_out_timeshift.c:79
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:94
int i_int
Definition: es_out_timeshift.c:158
size_t i_cmd_buf
Definition: es_out_timeshift.c:209
@ ES_OUT_SET_ES_FMT
Definition: vlc_es_out.h:71
static bool TsStorageIsFull(ts_storage_t *, const ts_cmd_t *p_cmd)
Definition: es_out_timeshift.c:1311
static bool TsIsUnused(ts_thread_t *)
Definition: es_out_timeshift.c:1028
static int EsOutSourceControl(es_out_t *out, input_source_t *in, int query, va_list args)
Definition: es_out_source.c:66
#define container_of(ptr, type, member)
Definition: vlc_common.h:1140
@ C_DEL
Definition: es_out_timeshift.c:66
Definition: es_out_timeshift.c:212
vlc_tick_t i_pts_jitter
Definition: es_out_timeshift.c:162
const char * psz_tmp_path
Definition: es_out_timeshift.c:219
es_format_t * p_fmt
Definition: es_out_timeshift.c:82
static int es_out_SetFrameNext(es_out_t *p_out)
Definition: es_out.h:202
static void CmdCleanControl(ts_cmd_control_t *)
Definition: es_out_timeshift.c:1723
#define DIR_SEP_CHAR
Definition: vlc_common.h:1220
static const size_t TsStorageSizeofCommand[]
Definition: es_out_timeshift.c:1203
struct ts_cmd_control_t::@16::@19 int_epg
static void es_out_Del(es_out_t *out, es_out_id_t *id)
Definition: vlc_es_out.h:154
static void CmdExecuteDel(es_out_t *, ts_cmd_del_t *)
Definition: es_out_timeshift.c:1500
double f_position
Definition: es_out_timeshift.c:167
int i_es
Definition: es_out_timeshift.c:275
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:208
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
static void input_SendEventCache(input_thread_t *p_input, double f_level)
Definition: event.h:144
Semaphore.
Definition: vlc_threads.h:449
Definition: es_out_timeshift.c:175
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
static int es_out_PrivControl(es_out_t *out, int query,...)
Definition: es_out.h:108
@ ES_OUT_RESET_PCR
Definition: vlc_es_out.h:67
static int EsOutSourceSend(es_out_t *out, es_out_id_t *es, block_t *block)
Definition: es_out_source.c:54
ts_cmd_add_t add
Definition: es_out_timeshift.c:178
char * strdup(const char *)
@ ES_OUT_SET_PCR
Definition: vlc_es_out.h:65
@ ES_OUT_PRIV_SET_ES_LIST
Definition: es_out.h:52
int vlc_sem_trywait(vlc_sem_t *sem)
Tries to decrement a semaphore.
Definition: threads.c:500
static void TsStorageDelete(ts_storage_t *)
Definition: es_out_timeshift.c:1273
uint8_t * p_cmd_w
Definition: es_out_timeshift.c:207
@ ES_OUT_PRIV_SET_ES_DELAY
Definition: es_out.h:66
FILE * p_filer
Definition: es_out_timeshift.c:203
static void TsPushCmd(ts_thread_t *, ts_cmd_t *)
Definition: es_out_timeshift.c:962
struct ts_cmd_control_t::@16::@21 es_bool
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
static int TsPopCmdLocked(ts_thread_t *, ts_cmd_t *, bool b_flush)
Definition: es_out_timeshift.c:997
#define TAB_INIT(count, tab)
Definition: vlc_arrays.h:55
struct ts_cmd_control_t::@16::@23 es_policy
static int es_out_in_vaControl(es_out_t *p_out, input_source_t *in, int i_query, va_list args)
Definition: es_out_timeshift.c:510
@ ES_OUT_POST_SUBNODE
Definition: vlc_es_out.h:102
Condition variable.
Definition: vlc_threads.h:349
bool b_input_paused
Definition: es_out_timeshift.c:269
void vlc_epg_Delete(vlc_epg_t *p_epg)
It releases a vlc_epg_t*.
Definition: epg.c:198
#define TAB_REMOVE(count, tab, p)
Definition: vlc_arrays.h:106
int vlc_unlink(const char *filename)
Removes a file.
Definition: filesystem.c:183
int64_t i_tmp_size_max
Definition: es_out_timeshift.c:258
@ C_CONTROL
Definition: es_out_timeshift.c:67
int vlc_sem_post(vlc_sem_t *sem)
Increments the value of a semaphore.
Definition: threads.c:447
vlc_epg_event_t * vlc_epg_event_Duplicate(const vlc_epg_event_t *p_src)
Returns a vlc_epg_event_t * duplicated from p_src.
Definition: epg.c:74
es_out_id_t * p_es
Definition: es_out_timeshift.c:112
@ ES_OUT_SET_GROUP_META
Definition: vlc_es_out.h:76
struct ts_cmd_control_t::@16::@18 int_meta
union ts_cmd_control_t::@16 u
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition: vlc_mouse.h:62
#define TS_STORAGE_COMMAND_PREALLOC
Definition: es_out_timeshift.c:1201
vlc_tick_t i_dts
Definition: vlc_block.h:130
input_source_t * in
Definition: es_out_timeshift.c:80
static void input_SendEventState(input_thread_t *p_input, int i_state, vlc_tick_t state_date)
Definition: event.h:135
ts_cmd_header_t header
Definition: es_out_timeshift.c:87
int i_query
Definition: es_out_timeshift.c:154
es_out_t * parent_out
Definition: es_out_source.c:63
@ ES_OUT_SET_GROUP_PCR
Definition: vlc_es_out.h:66
static void input_SendEvent(input_thread_t *p_input, const struct vlc_input_event *event)
Definition: event.h:30
static int ControlLocked(es_out_t *p_out, input_source_t *in, int i_query, va_list args)
Definition: es_out_timeshift.c:648
union ts_cmd_privcontrol_t::@24 u
es_out_id_t * p_es
Definition: es_out_timeshift.c:81
int i_policy
Definition: es_out_timeshift.c:146
int64_t i_tmp_size_max
Definition: es_out_timeshift.c:218
int vlc_sem_timedwait(vlc_sem_t *sem, vlc_tick_t deadline)
Waits on a semaphore within a deadline.
Definition: threads.c:479
input_source_t * in
Definition: es_out_source.c:62
@ ES_OUT_UNSET_ES
Definition: vlc_es_out.h:42
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:121
@ ES_OUT_SET_ES_CAT_POLICY
Definition: vlc_es_out.h:54
static void input_SendEventRecord(input_thread_t *p_input, bool b_recording)
Definition: event.h:99
@ ES_OUT_SET_GROUP_EPG
Definition: vlc_es_out.h:78
int i_int
Definition: es_out_timeshift.c:110
static void input_SendEventParsing(input_thread_t *p_input, input_item_node_t *p_root)
Definition: event.h:252
@ ES_OUT_PRIV_SET_EOS
Definition: es_out.h:93
vlc_epg_t * vlc_epg_Duplicate(const vlc_epg_t *p_src)
Returns a duplicated p_src and its associated events.
Definition: epg.c:221
static int PrivControl(es_out_t *p_tsout, int i_query, va_list args)
Definition: es_out_timeshift.c:849
ts_cmd_header_t header
Definition: es_out_timeshift.c:153
void vlc_cond_init(vlc_cond_t *cond)
Initializes a condition variable.
Definition: threads.c:234
@ ES_OUT_PRIV_SET_RECORD_STATE
Definition: es_out.h:72
Definition: es_out_timeshift.c:151
#define attribute_packed
Definition: es_out_timeshift.c:59
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
static void CmdCleanAdd(ts_cmd_add_t *)
Definition: es_out_timeshift.c:1457
@ ES_OUT_PRIV_GET_GROUP_FORCED
Definition: es_out.h:90
static void CmdCleanSend(ts_cmd_send_t *)
Definition: es_out_timeshift.c:1487
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
@ ES_OUT_PRIV_SET_RATE
Definition: es_out.h:78
VLC value structure.
Definition: vlc_common.h:457
static bool TsStorageIsEmpty(ts_storage_t *)
Definition: es_out_timeshift.c:1323
bool b_delayed
Definition: es_out_timeshift.c:265
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
ts_storage_cmd_type_e
Definition: es_out_timeshift.c:62
static int es_out_in_Control(es_out_t *p_out, input_source_t *in, int i_query,...)
Definition: es_out_timeshift.c:516
static int es_out_Send(es_out_t *out, es_out_id_t *id, block_t *p_block)
Definition: vlc_es_out.h:159
Definition: vlc_block.h:117
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
void vlc_epg_event_Delete(vlc_epg_event_t *p_event)
Releases a vlc_epg_event_t*.
Definition: epg.c:47
char * psz_tmp_path
Definition: es_out_timeshift.c:259
static int CmdExecutePrivControl(es_out_t *, ts_cmd_privcontrol_t *)
Definition: es_out_timeshift.c:1798
@ ES_OUT_VOUT_ADD_OVERLAY
Definition: vlc_es_out.h:108
static void input_SendEventRate(input_thread_t *p_input, float rate)
Definition: event.h:91
vlc_epg_t * p_epg
Definition: es_out_timeshift.c:126
@ ES_OUT_PRIV_GET_BUFFERING
Definition: es_out.h:63
int i_query
Definition: es_out_timeshift.c:104
static void input_SendEventBookmark(input_thread_t *p_input)
Definition: event.h:293
static int CmdInitPrivControl(ts_cmd_privcontrol_t *, int i_query, va_list, bool b_copy)
Definition: es_out_timeshift.c:1753
@ ES_OUT_RESTART_ES
Definition: vlc_es_out.h:43
ts_cmd_header_t header
Definition: es_out_timeshift.c:93
@ ES_OUT_PRIV_SET_ES_CAT_IDS
Definition: es_out.h:54