static int Open ( vlc_object_t* );
static void Close( vlc_object_t* );
-#define CACHING_TEXT N_("Caching value in ms")
-#define CACHING_LONGTEXT N_( \
- "Caching value for SFTP streams. This value should be set in milliseconds." )
#define USER_TEXT N_("SFTP user name")
#define USER_LONGTEXT N_("User name that will be used for the connection.")
#define PASS_TEXT N_("SFTP password")
set_capability( "access", 0 )
set_category( CAT_INPUT )
set_subcategory( SUBCAT_INPUT_ACCESS )
- add_integer( "sftp-caching", 2 * DEFAULT_PTS_DELAY / 1000,
- CACHING_TEXT, CACHING_LONGTEXT, true );
add_integer( "sftp-readsize", 8192, MTU_TEXT, MTU_LONGTEXT, true )
add_integer( "sftp-port", 22, PORT_TEXT, PORT_LONGTEXT, true )
add_shortcut( "sftp" )
p_sys->i_socket = net_Connect( p_access, url.psz_host, i_port, SOCK_STREAM, 0 );
/* Create the ssh connexion and wait until the server answer */
- p_sys->ssh_session = libssh2_session_init();
+ if( ( p_sys->ssh_session = libssh2_session_init() ) == NULL )
+ goto error;
+
while( ( i_ret = libssh2_session_startup( p_sys->ssh_session,
p_sys->i_socket ) )
== LIBSSH2_ERROR_EAGAIN );
libssh2_knownhost_free( ssh_knownhosts );
- /* Check that it does match or at least that the host is unkown */
+ /* Check that it does match or at least that the host is unknown */
switch(check)
{
case LIBSSH2_KNOWNHOST_CHECK_FAILURE:
}
p_access->info.i_size = attributes.filesize;
- /* Create the two variables */
- var_Create( p_access, "sftp-caching", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
p_sys->i_read_size = var_InheritInteger( p_access, "sftp-readsize" );
free( psz_password );
return VLC_SUCCESS;
error:
+ if( p_sys->ssh_session )
+ libssh2_session_free( p_sys->ssh_session );
free( psz_password );
free( psz_username );
vlc_UrlClean( &url );
case ACCESS_GET_PTS_DELAY:
pi_64 = (int64_t*)va_arg( args, int64_t* );
- *pi_64 = var_GetInteger( p_access, "sftp-caching" ) * INT64_C(1000);
+ *pi_64 = INT64_C(1000)
+ * var_InheritInteger( p_access, "network-caching" );
break;
case ACCESS_SET_PAUSE_STATE: