/*****************************************************************************
* Preamble
*****************************************************************************/
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
#include <vlc/vlc.h>
-#include <stdio.h>
#include <errno.h>
add_integer( "timeshift-granularity", 50, NULL, GRANULARITY_TEXT,
GRANULARITY_LONGTEXT, VLC_TRUE );
add_directory( "timeshift-dir", 0, 0, DIR_TEXT, DIR_LONGTEXT, VLC_FALSE );
+ change_unsafe();
add_bool( "timeshift-force", VLC_FALSE, NULL, FORCE_TEXT, FORCE_LONGTEXT,
VLC_FALSE );
vlc_module_end();
/* Write block */
if( !p_sys->p_write_list && !p_sys->p_read_list &&
- p_sys->p_fifo->i_size < TIMESHIFT_FIFO_MAX )
+ block_FifoSize( p_sys->p_fifo ) < TIMESHIFT_FIFO_MAX )
{
/* If there isn't too much timeshifted data,
* write directly to FIFO */
block_Release( p_block );
/* Read from file to fill up the fifo */
- while( p_sys->p_fifo->i_size < TIMESHIFT_FIFO_MIN &&
+ while( block_FifoSize( p_sys->p_fifo ) < TIMESHIFT_FIFO_MIN &&
!p_access->b_die )
{
p_block = ReadBlockFromFile( p_access );
msg_Dbg( p_access, "timeshift: no more input data" );
while( !p_access->b_die &&
- (p_sys->p_read_list || p_sys->p_fifo->i_size) )
+ (p_sys->p_read_list || block_FifoSize( p_sys->p_fifo ) ) )
{
/* Read from file to fill up the fifo */
- while( p_sys->p_fifo->i_size < TIMESHIFT_FIFO_MIN &&
+ while( block_FifoSize( p_sys->p_fifo ) < TIMESHIFT_FIFO_MIN &&
!p_access->b_die && p_sys->p_read_list )
{
p_block = ReadBlockFromFile( p_access );
if( !file && p_sys->i_files < 2 )
{
/* We just can't work with less than 2 buffer files */
- msg_Err( p_access, "cannot open temporary file '%s' (%s)",
- p_sys->psz_filename, strerror(errno) );
+ msg_Err( p_access, "cannot open temporary file '%s' (%m)",
+ p_sys->psz_filename );
return VLC_EGENERIC;
}
else if( !file ) return VLC_EGENERIC;
*pi_int = 0;
break;
- case ACCESS_SET_PAUSE_STATE:
+ case ACCESS_SET_PAUSE_STATE:
break;
/* Forward everything else to the source access */
#endif
static char *GetTmpFilePath( access_t *p_access )
{
- char *psz_dir = var_GetString( p_access, "timeshift-dir" );
+ char *psz_dir = var_GetNonEmptyString( p_access, "timeshift-dir" );
char *psz_filename_base;
- if( ( psz_dir != NULL ) && ( psz_dir[0] == '\0' ) )
- {
- free( psz_dir );
- psz_dir = NULL;
- }
-
if( psz_dir == NULL )
{
#ifdef WIN32