VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
es_out_timeshift.c File Reference
Include dependency graph for es_out_timeshift.c:

Data Structures

struct  ts_cmd_add_t
struct  ts_cmd_del_t
struct  ts_cmd_send_t
struct  ts_cmd_control_t
struct  ts_cmd_t
struct  ts_storage_t
struct  ts_thread_t
struct  es_out_id_t
struct  es_out_sys_t

Macros

#define attribute_packed

Typedefs

typedef struct ts_storage_t ts_storage_t

Enumerations

enum  { C_ADD, C_SEND, C_DEL, C_CONTROL }

Functions

static es_out_id_tAdd (es_out_t *, const es_format_t *)
static int Send (es_out_t *, es_out_id_t *, block_t *)
static void Del (es_out_t *, es_out_id_t *)
static int Control (es_out_t *, int i_query, va_list)
static void Destroy (es_out_t *)
static int TsStart (es_out_t *)
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, mtime_t i_date)
static int TsChangeRate (ts_thread_t *, int i_src_rate, int i_rate)
static void * TsRun (void *)
static ts_storage_tTsStorageNew (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 void cmd_cleanup_routine (void *p)
static int CmdInitAdd (ts_cmd_t *, es_out_id_t *, const es_format_t *, bool b_copy)
static void CmdInitSend (ts_cmd_t *, es_out_id_t *, block_t *)
static int CmdInitDel (ts_cmd_t *, es_out_id_t *)
static int CmdInitControl (ts_cmd_t *, int i_query, va_list, bool b_copy)
static void CmdCleanAdd (ts_cmd_t *)
static void CmdCleanSend (ts_cmd_t *)
static void CmdCleanControl (ts_cmd_t *p_cmd)
static void CmdExecuteAdd (es_out_t *, ts_cmd_t *)
static int CmdExecuteSend (es_out_t *, ts_cmd_t *)
static void CmdExecuteDel (es_out_t *, ts_cmd_t *)
static int CmdExecuteControl (es_out_t *, ts_cmd_t *)
static char * GetTmpPath (char *psz_path)
static FILE * GetTmpFile (char **ppsz_file, const char *psz_path)
es_out_tinput_EsOutTimeshiftNew (input_thread_t *p_input, es_out_t *p_next_out, int i_rate)
static int ControlLockedGetEmpty (es_out_t *p_out, bool *pb_empty)
static int ControlLockedGetWakeup (es_out_t *p_out, mtime_t *pi_wakeup)
static int ControlLockedGetBuffering (es_out_t *p_out, bool *pb_buffering)
static int ControlLockedSetPauseState (es_out_t *p_out, bool b_source_paused, bool b_paused, mtime_t i_date)
static int ControlLockedSetRate (es_out_t *p_out, int i_src_rate, int i_rate)
static int ControlLockedSetTime (es_out_t *p_out, mtime_t i_date)
static int ControlLockedSetFrameNext (es_out_t *p_out)
static int ControlLocked (es_out_t *p_out, int i_query, va_list args)
static void TsDestroy (ts_thread_t *p_ts)

Macro Definition Documentation

#define attribute_packed

Typedef Documentation

typedef struct ts_storage_t ts_storage_t

Enumeration Type Documentation

anonymous enum
Enumerator:
C_ADD 
C_SEND 
C_DEL 
C_CONTROL 

Function Documentation

static es_out_id_t * Add ( es_out_t p_out,
const es_format_t p_fmt 
)
static
static void cmd_cleanup_routine ( void *  p)
static

References CmdClean().

Referenced by TsRun().

static void CmdClean ( ts_cmd_t p_cmd)
static
static void CmdCleanAdd ( ts_cmd_t p_cmd)
static
static void CmdCleanControl ( ts_cmd_t p_cmd)
static
static void CmdCleanSend ( ts_cmd_t p_cmd)
static
static void CmdExecuteAdd ( es_out_t p_out,
ts_cmd_t p_cmd 
)
static
static int CmdExecuteControl ( es_out_t p_out,
ts_cmd_t p_cmd 
)
static
static void CmdExecuteDel ( es_out_t p_out,
ts_cmd_t p_cmd 
)
static
static int CmdExecuteSend ( es_out_t p_out,
ts_cmd_t p_cmd 
)
static
static int CmdInitAdd ( ts_cmd_t p_cmd,
es_out_id_t p_es,
const es_format_t p_fmt,
bool  b_copy 
)
static
static int CmdInitControl ( ts_cmd_t p_cmd,
int  i_query,
va_list  args,
bool  b_copy 
)
static
static int CmdInitDel ( ts_cmd_t p_cmd,
es_out_id_t p_es 
)
static
static void CmdInitSend ( ts_cmd_t p_cmd,
es_out_id_t p_es,
block_t p_block 
)
static
static int Control ( es_out_t p_out,
int  i_query,
va_list  args 
)
static
static int ControlLocked ( es_out_t p_out,
int  i_query,
va_list  args 
)
static
static int ControlLockedGetBuffering ( es_out_t p_out,
bool *  pb_buffering 
)
static
static int ControlLockedGetEmpty ( es_out_t p_out,
bool *  pb_empty 
)
static
static int ControlLockedGetWakeup ( es_out_t p_out,
mtime_t pi_wakeup 
)
static
static int ControlLockedSetFrameNext ( es_out_t p_out)
static
static int ControlLockedSetPauseState ( es_out_t p_out,
bool  b_source_paused,
bool  b_paused,
mtime_t  i_date 
)
static
static int ControlLockedSetRate ( es_out_t p_out,
int  i_src_rate,
int  i_rate 
)
static
static int ControlLockedSetTime ( es_out_t p_out,
mtime_t  i_date 
)
static
static void Del ( es_out_t p_out,
es_out_id_t p_es 
)
static
static void Destroy ( es_out_t p_out)
static
static FILE * GetTmpFile ( char **  ppsz_file,
const char *  psz_path 
)
static

References asprintf(), psz_name, and vlc_mkstemp().

Referenced by TsStorageNew().

static char * GetTmpPath ( char *  psz_path)
static
es_out_t* input_EsOutTimeshiftNew ( input_thread_t p_input,
es_out_t p_next_out,
int  i_rate 
)
static int Send ( es_out_t p_out,
es_out_id_t p_es,
block_t p_block 
)
static
static void TsAutoStop ( es_out_t p_out)
static
static int TsChangePause ( ts_thread_t p_ts,
bool  b_source_paused,
bool  b_paused,
mtime_t  i_date 
)
static
static int TsChangeRate ( ts_thread_t p_ts,
int  i_src_rate,
int  i_rate 
)
static
static void TsDestroy ( ts_thread_t p_ts)
static
static bool TsHasCmd ( ts_thread_t p_ts)
static
static bool TsIsUnused ( ts_thread_t p_ts)
static
static int TsPopCmdLocked ( ts_thread_t p_ts,
ts_cmd_t p_cmd,
bool  b_flush 
)
static
static void TsPushCmd ( ts_thread_t p_ts,
ts_cmd_t p_cmd 
)
static
static void * TsRun ( void *  p_data)
static
static int TsStart ( es_out_t p_out)
static
static void TsStop ( ts_thread_t p_ts)
static
static void TsStorageDelete ( ts_storage_t p_storage)
static
static bool TsStorageIsEmpty ( ts_storage_t p_storage)
static
static bool TsStorageIsFull ( ts_storage_t p_storage,
const ts_cmd_t p_cmd 
)
static
static ts_storage_t * TsStorageNew ( const char *  psz_path,
int64_t  i_tmp_size_max 
)
static
static void TsStoragePack ( ts_storage_t p_storage)
static
static void TsStoragePopCmd ( ts_storage_t p_storage,
ts_cmd_t p_cmd,
bool  b_flush 
)
static
static void TsStoragePushCmd ( ts_storage_t p_storage,
const ts_cmd_t p_cmd,
bool  b_flush 
)
static