# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
#include <errno.h> /* ENOMEM */
#include <ctype.h>
#include <vlc_vout.h>
#include <vlc_osd.h>
#include <vlc_playlist.h>
-#include <vlc_update.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#define MAX_LINE_LENGTH 256
#define STATUS_CHANGE "status change: "
+/* input_state_e from <vlc_input.h> */
+static const char *ppsz_input_state[] = {
+ N_("Initializing"),
+ N_("Opening"),
+ N_("Buffer"),
+ N_("Play"),
+ N_("Pause"),
+ N_("Stop"),
+ N_("Forward"),
+ N_("Backward"),
+ N_("End"),
+ N_("Error"),
+};
+
/*****************************************************************************
* Local prototypes
*****************************************************************************/
static void Deactivate ( vlc_object_t * );
static void Run ( intf_thread_t * );
-static void Help ( intf_thread_t *, vlc_bool_t );
+static void Help ( intf_thread_t *, bool );
static void RegisterCallbacks( intf_thread_t * );
-static vlc_bool_t ReadCommand( intf_thread_t *, char *, int * );
+static bool ReadCommand( intf_thread_t *, char *, int * );
static input_item_t *parse_MRL( intf_thread_t *, char * );
vlc_value_t, vlc_value_t, void * );
static int updateStatistics( intf_thread_t *, input_item_t *);
-#if 0 && defined( UPDATE_CHECK )
-static void checkUpdates( intf_thread_t *p_intf );
-#endif
/* Status Callbacks */
static int TimeOffsetChanged( vlc_object_t *, char const *,
/* status changes */
vlc_mutex_t status_lock;
playlist_status_t i_last_state;
- vlc_bool_t b_statistics;
#ifdef WIN32
HANDLE hConsoleIn;
- vlc_bool_t b_quiet;
+ bool b_quiet;
#endif
};
#endif
vlc_module_begin();
- set_shortname( _("RC"));
+ set_shortname( N_("RC"));
set_category( CAT_INTERFACE );
set_subcategory( SUBCAT_INTERFACE_MAIN );
- set_description( _("Remote control interface") );
- add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, VLC_TRUE );
+ set_description( N_("Remote control interface") );
+ add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, true );
#ifdef WIN32
- add_bool( "rc-quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, VLC_FALSE );
+ add_bool( "rc-quiet", 0, NULL, QUIET_TEXT, QUIET_LONGTEXT, false );
#else
#if defined (HAVE_ISATTY)
- add_bool( "rc-fake-tty", 0, NULL, TTY_TEXT, TTY_LONGTEXT, VLC_TRUE );
+ add_bool( "rc-fake-tty", 0, NULL, TTY_TEXT, TTY_LONGTEXT, true );
#endif
- add_string( "rc-unix", 0, NULL, UNIX_TEXT, UNIX_LONGTEXT, VLC_TRUE );
+ add_string( "rc-unix", 0, NULL, UNIX_TEXT, UNIX_LONGTEXT, true );
#endif
- add_string( "rc-host", 0, NULL, HOST_TEXT, HOST_LONGTEXT, VLC_TRUE );
+ add_string( "rc-host", 0, NULL, HOST_TEXT, HOST_LONGTEXT, true );
set_capability( "interface", 20 );
p_intf->p_sys->pi_socket_listen = pi_socket;
p_intf->p_sys->i_socket = -1;
p_intf->p_sys->psz_unix_path = psz_unix_path;
- vlc_mutex_init( p_intf, &p_intf->p_sys->status_lock );
+ vlc_mutex_init( &p_intf->p_sys->status_lock );
p_intf->p_sys->i_last_state = PLAYLIST_STOPPED;
- p_intf->p_sys->b_statistics = VLC_FALSE;
/* Non-buffered stdout */
setvbuf( stdout, (char *)NULL, _IOLBF, 0 );
playlist_t * p_playlist;
char p_buffer[ MAX_LINE_LENGTH + 1 ];
- vlc_bool_t b_showpos = config_GetInt( p_intf, "rc-show-pos" );
- vlc_bool_t b_longhelp = VLC_FALSE;
+ bool b_showpos = config_GetInt( p_intf, "rc-show-pos" );
+ bool b_longhelp = false;
int i_size = 0;
int i_oldpos = 0;
while( !intf_ShouldDie( p_intf ) )
{
char *psz_cmd, *psz_arg;
- vlc_bool_t b_complete;
+ bool b_complete;
if( p_intf->p_sys->pi_socket_listen != NULL &&
p_intf->p_sys->i_socket == -1 )
FIND_ANYWHERE );
if( p_input )
{
- p_playlist = vlc_object_find( p_input, VLC_OBJECT_PLAYLIST,
- FIND_PARENT );
+ p_playlist = pl_Yield( p_input );
}
}
/* New input has been registered */
if( p_input )
{
- if( !p_input->b_dead || !p_input->b_die )
+ if( !p_input->b_dead || vlc_object_alive (p_input) )
{
char *psz_uri =
input_item_GetURI( input_GetItem( p_input ) );
if( p_playlist )
{
- vlc_mutex_lock( &p_playlist->object_lock );
+ vlc_object_lock( p_playlist );
p_intf->p_sys->i_last_state = (int) PLAYLIST_STOPPED;
msg_rc( STATUS_CHANGE "( stop state: 0 )" );
- vlc_mutex_unlock( &p_playlist->object_lock );
+ vlc_object_unlock( p_playlist );
}
}
- if( (p_input != NULL) && !p_input->b_dead && !p_input->b_die &&
+ if( (p_input != NULL) && !p_input->b_dead && vlc_object_alive (p_input) &&
(p_playlist != NULL) )
{
- vlc_mutex_lock( &p_playlist->object_lock );
+ vlc_object_lock( p_playlist );
if( (p_intf->p_sys->i_last_state != p_playlist->status.i_status) &&
(p_playlist->status.i_status == PLAYLIST_STOPPED) )
{
p_intf->p_sys->i_last_state = PLAYLIST_STOPPED;
- msg_rc( STATUS_CHANGE "( stop state: 0 )" );
+ msg_rc( STATUS_CHANGE "( stop state: 5 )" );
}
else if(
(p_intf->p_sys->i_last_state != p_playlist->status.i_status) &&
(p_playlist->status.i_status == PLAYLIST_RUNNING) )
{
p_intf->p_sys->i_last_state = p_playlist->status.i_status;
- msg_rc( STATUS_CHANGE "( play state: 1 )" );
+ msg_rc( STATUS_CHANGE "( play state: 3 )" );
}
else if(
(p_intf->p_sys->i_last_state != p_playlist->status.i_status) &&
(p_playlist->status.i_status == PLAYLIST_PAUSED) )
{
p_intf->p_sys->i_last_state = p_playlist->status.i_status;
- msg_rc( STATUS_CHANGE "( pause state: 2 )" );
+ msg_rc( STATUS_CHANGE "( pause state: 4 )" );
}
- vlc_mutex_unlock( &p_playlist->object_lock );
+ vlc_object_unlock( p_playlist );
}
if( p_input && b_showpos )
}
}
- if( p_input && p_intf->p_sys->b_statistics )
- {
- vlc_mutex_lock( &input_GetItem(p_input)->lock );
- updateStatistics( p_intf, input_GetItem(p_input) );
- vlc_mutex_unlock( &input_GetItem(p_input)->lock );
- }
-
/* Is there something to do? */
if( !b_complete ) continue;
|| !strncmp( psz_cmd, "H", 1 ) || !strncmp( psz_cmd, "?", 1 ) )
{
if( !strcmp( psz_cmd, "longhelp" ) || !strncmp( psz_cmd, "H", 1 ) )
- b_longhelp = VLC_TRUE;
- else b_longhelp = VLC_FALSE;
+ b_longhelp = true;
+ else b_longhelp = false;
Help( p_intf, b_longhelp );
}
-#if 0 && defined( UPDATE_CHECK )
- else if( !strcmp( psz_cmd, "check-updates" ) )
- {
- checkUpdates( p_intf );
- }
-#endif
else if( !strcmp( psz_cmd, "key" ) || !strcmp( psz_cmd, "hotkey" ) )
{
var_SetInteger( p_intf->p_libvlc, "key-pressed",
if( p_vout )
{
vlc_value_t val;
- vlc_bool_t b_update = VLC_FALSE;
+ bool b_update = false;
var_Get( p_vout, "fullscreen", &val );
val.b_bool = !val.b_bool;
if( !strncmp( psz_arg, "on", 2 )
- && ( val.b_bool == VLC_TRUE ) )
+ && ( val.b_bool == true ) )
{
- b_update = VLC_TRUE;
- val.b_bool = VLC_TRUE;
+ b_update = true;
+ val.b_bool = true;
}
else if( !strncmp( psz_arg, "off", 3 )
- && ( val.b_bool == VLC_FALSE ) )
+ && ( val.b_bool == false ) )
{
- b_update = VLC_TRUE;
- val.b_bool = VLC_FALSE;
+ b_update = true;
+ val.b_bool = false;
}
else if( strncmp( psz_arg, "off", 3 )
&& strncmp( psz_arg, "on", 2 ) )
- b_update = VLC_TRUE;
+ b_update = true;
if( b_update ) var_Set( p_vout, "fullscreen", val );
vlc_object_release( p_vout );
}
var_DelCallback( p_intf->p_libvlc, "volume-change", VolumeChanged, p_intf );
}
-static void Help( intf_thread_t *p_intf, vlc_bool_t b_longhelp)
+static void Help( intf_thread_t *p_intf, bool b_longhelp)
{
msg_rc(_("+----[ Remote control commands ]"));
msg_rc( "| ");
msg_rc(_("| @name mosaic-cols #. . . . . . . . . . .number of cols"));
msg_rc(_("| @name mosaic-order id(,id)* . . . . order of pictures "));
msg_rc(_("| @name mosaic-keep-aspect-ratio {0,1} . . .aspect ratio"));
-#if 0 && defined( UPDATE_CHECK )
- msg_rc( "| ");
- msg_rc(_("| check-updates [newer] [equal] [older]\n"
- "| [undef] [info] [source] [binary] [plugin]"));
-#endif
msg_rc( "| ");
}
msg_rc(_("| help . . . . . . . . . . . . . . . this help message"));
p_input = vlc_object_find( p_intf, VLC_OBJECT_INPUT, FIND_ANYWHERE );
if( p_input )
{
- p_playlist = vlc_object_find( p_input, VLC_OBJECT_PLAYLIST, FIND_PARENT );
- if( p_playlist )
+ p_playlist = pl_Yield( p_input );
+ char cmd[6];
+ switch( p_playlist->status.i_status )
{
- char cmd[6];
- switch( p_playlist->status.i_status )
- {
- case PLAYLIST_STOPPED:
- strcpy( cmd, "stop" );
- break;
- case PLAYLIST_RUNNING:
- strcpy( cmd, "play" );
- break;
- case PLAYLIST_PAUSED:
- strcpy( cmd, "pause" );
- break;
- default:
- cmd[0] = '\0';
- } /* var_GetInteger( p_input, "state" ) */
- msg_rc( STATUS_CHANGE "( %s state: %d )", &cmd[0], newval.i_int );
- vlc_object_release( p_playlist );
- }
+ case PLAYLIST_STOPPED:
+ strcpy( cmd, "stop" );
+ break;
+ case PLAYLIST_RUNNING:
+ strcpy( cmd, "play" );
+ break;
+ case PLAYLIST_PAUSED:
+ strcpy( cmd, "pause" );
+ break;
+ default:
+ cmd[0] = '\0';
+ } /* var_GetInteger( p_input, "state" ) */
+ msg_rc( STATUS_CHANGE "( %s state: %d ): %s",
+ cmd, newval.i_int,
+ ppsz_input_state[ newval.i_int ] );
+ vlc_object_release( p_playlist );
vlc_object_release( p_input );
}
vlc_mutex_unlock( &p_intf->p_sys->status_lock );
}
else if( !strcmp( psz_cmd, "chapter_n" ) )
{
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_input, "next-chapter", val );
}
else if( !strcmp( psz_cmd, "chapter_p" ) )
{
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_input, "prev-chapter", val );
}
vlc_object_release( p_input );
}
else if( !strcmp( psz_cmd, "title_n" ) )
{
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_input, "next-title", val );
}
else if( !strcmp( psz_cmd, "title_p" ) )
{
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_input, "prev-title", val );
}
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
return VLC_EGENERIC;
}
+static void print_playlist( intf_thread_t *p_intf, playlist_item_t *p_item, int i_level )
+{
+ int i;
+ char psz_buffer[MSTRTIME_MAX_SIZE];
+ for( i = 0; i< p_item->i_children; i++ )
+ {
+ if( p_item->pp_children[i]->p_input->i_duration != -1 )
+ {
+ secstotimestr( psz_buffer, p_item->pp_children[i]->p_input->i_duration / 1000000 );
+ msg_rc( "|%*s- %s (%s)", 2 * i_level, "", p_item->pp_children[i]->p_input->psz_name, psz_buffer );
+ }
+ else
+ msg_rc( "|%*s- %s", 2 * i_level, "", p_item->pp_children[i]->p_input->psz_name );
+
+ if( p_item->pp_children[i]->i_children >= 0 )
+ print_playlist( p_intf, p_item->pp_children[i], i_level + 1 );
+ }
+}
+
static int Playlist( vlc_object_t *p_this, char const *psz_cmd,
vlc_value_t oldval, vlc_value_t newval, void *p_data )
{
}
else if( !strcmp( psz_cmd, "repeat" ) )
{
- vlc_bool_t b_update = VLC_TRUE;
+ bool b_update = true;
var_Get( p_playlist, "repeat", &val );
if( strlen( newval.psz_string ) > 0 )
{
- if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == VLC_TRUE ) ) ||
- ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == VLC_FALSE ) ) )
+ if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == true ) ) ||
+ ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == false ) ) )
{
- b_update = VLC_FALSE;
+ b_update = false;
}
}
}
else if( !strcmp( psz_cmd, "loop" ) )
{
- vlc_bool_t b_update = VLC_TRUE;
+ bool b_update = true;
var_Get( p_playlist, "loop", &val );
if( strlen( newval.psz_string ) > 0 )
{
- if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == VLC_TRUE ) ) ||
- ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == VLC_FALSE ) ) )
+ if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == true ) ) ||
+ ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == false ) ) )
{
- b_update = VLC_FALSE;
+ b_update = false;
}
}
}
else if( !strcmp( psz_cmd, "random" ) )
{
- vlc_bool_t b_update = VLC_TRUE;
+ bool b_update = true;
var_Get( p_playlist, "random", &val );
if( strlen( newval.psz_string ) > 0 )
{
- if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == VLC_TRUE ) ) ||
- ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == VLC_FALSE ) ) )
+ if ( ( !strncmp( newval.psz_string, "on", 2 ) && ( val.b_bool == true ) ) ||
+ ( !strncmp( newval.psz_string, "off", 3 ) && ( val.b_bool == false ) ) )
{
- b_update = VLC_FALSE;
+ b_update = false;
}
}
p_item = p_parent = p_playlist->items.p_elems[i_pos*2-1];
while( p_parent->p_parent )
p_parent = p_parent->p_parent;
- playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, VLC_TRUE,
+ playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, false,
p_parent, p_item );
}
else
else if( !strcmp( psz_cmd, "clear" ) )
{
playlist_Stop( p_playlist );
- playlist_Clear( p_playlist, VLC_FALSE );
+ playlist_Clear( p_playlist, false );
}
else if( !strcmp( psz_cmd, "add" ) &&
newval.psz_string && *newval.psz_string )
if( p_item )
{
msg_rc( "Trying to add %s to playlist.", newval.psz_string );
- playlist_AddInput( p_playlist, p_item,
- PLAYLIST_GO|PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE,
- VLC_FALSE );
+ int i_ret =playlist_AddInput( p_playlist, p_item,
+ PLAYLIST_GO|PLAYLIST_APPEND, PLAYLIST_END, true,
+ false );
+ vlc_gc_decref( p_item );
+ if( i_ret != VLC_SUCCESS )
+ {
+ return VLC_EGENERIC;
+ }
}
}
else if( !strcmp( psz_cmd, "enqueue" ) &&
if( p_item )
{
msg_rc( "trying to enqueue %s to playlist", newval.psz_string );
- playlist_AddInput( p_playlist, p_item,
- PLAYLIST_APPEND, PLAYLIST_END, VLC_TRUE,
- VLC_FALSE);
+ if( playlist_AddInput( p_playlist, p_item,
+ PLAYLIST_APPEND, PLAYLIST_END, true,
+ false ) != VLC_SUCCESS )
+ {
+ return VLC_EGENERIC;
+ }
}
}
else if( !strcmp( psz_cmd, "playlist" ) )
{
- msg_Dbg( p_playlist, "Dumping category" );
- playlist_NodeDump( p_playlist, p_playlist->p_root_category, 0 );
- msg_Dbg( p_playlist, "Dumping Onelevel" );
- playlist_NodeDump( p_playlist, p_playlist->p_root_onelevel, 0 );
+ msg_rc( "+----[ Playlist ]" );
+ print_playlist( p_intf, p_playlist->p_root_category, 0 );
+ msg_rc( "+----[ End of playlist ]" );
}
+
else if( !strcmp( psz_cmd, "sort" ))
{
playlist_RecursiveNodeSort( p_playlist, p_playlist->p_root_onelevel,
msg_rc( STATUS_CHANGE "( audio volume: %d )",
config_GetInt( p_intf, "volume" ));
- vlc_mutex_lock( &p_playlist->object_lock );
+ PL_LOCK;
switch( p_playlist->status.i_status )
{
case PLAYLIST_STOPPED:
- msg_rc( STATUS_CHANGE "( stop state: 0 )" );
+ msg_rc( STATUS_CHANGE "( stop state: 5 )" );
break;
case PLAYLIST_RUNNING:
- msg_rc( STATUS_CHANGE "( play state: 1 )" );
+ msg_rc( STATUS_CHANGE "( play state: 3 )" );
break;
case PLAYLIST_PAUSED:
- msg_rc( STATUS_CHANGE "( pause state: 2 )" );
+ msg_rc( STATUS_CHANGE "( pause state: 4 )" );
break;
default:
- msg_rc( STATUS_CHANGE "( state unknown )" );
+ msg_rc( STATUS_CHANGE "( unknown state: -1 )" );
break;
}
- vlc_mutex_unlock( &p_playlist->object_lock );
+ PL_UNLOCK;
}
}
VLC_UNUSED(oldval); VLC_UNUSED(newval);
playlist_t *p_playlist;
- p_playlist = vlc_object_find( p_this, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
- if( p_playlist )
- {
- playlist_Stop( p_playlist );
- vlc_object_release( p_playlist );
- }
+ p_playlist = pl_Yield( p_this );
+ playlist_Stop( p_playlist );
+ vlc_object_release( p_playlist );
+
vlc_object_kill( p_this->p_libvlc );
return VLC_SUCCESS;
}
VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data);
intf_thread_t *p_newintf = NULL;
- p_newintf = intf_Create( p_this->p_libvlc, newval.psz_string, 0, NULL );
+ p_newintf = intf_Create( p_this->p_libvlc, newval.psz_string );
if( p_newintf )
{
if( intf_RunThread( p_newintf ) )
{
vlc_object_detach( p_newintf );
- intf_Destroy( p_newintf );
+ vlc_object_release( p_newintf );
}
}
}
else if( !strcmp( psz_cmd, "snapshot" ) )
{
- i_error = var_Set( p_vout, psz_variable, newval );
+ vlc_value_t val;
+ val.b_bool = true;
+ i_error = var_Set( p_vout, psz_variable, val );
}
else
{
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
&val, &text );
msg_rc( "+----[ end of %s ]", val_name.psz_string );
- if( val_name.psz_string ) free( val_name.psz_string );
+ free( val_name.psz_string );
i_error = VLC_SUCCESS;
}
else
VLC_UNUSED(psz_cmd); VLC_UNUSED(oldval); VLC_UNUSED(p_data);
intf_thread_t *p_intf = (intf_thread_t*)p_this;
playlist_t *p_playlist = NULL;
+ int i_error = VLC_SUCCESS;
vlc_value_t val;
- int i_error = VLC_EGENERIC;
if ( !*newval.psz_string )
{
msg_rc( _("Please provide one of the following parameters:") );
msg_rc( "[on|off|up|down|left|right|select]" );
- return i_error;
+ return VLC_EGENERIC;
}
- p_playlist = vlc_object_find( p_this, VLC_OBJECT_PLAYLIST, FIND_ANYWHERE );
- if( !p_playlist )
- return VLC_ENOOBJ;
+ p_playlist = pl_Yield( p_this );
if( p_playlist->p_input )
{
vlc_object_release( p_playlist );
val.psz_string = strdup( newval.psz_string );
+ if( !val.psz_string )
+ return VLC_ENOMEM;
if( !strcmp( val.psz_string, "on" ) || !strcmp( val.psz_string, "show" ))
osd_MenuShow( p_this );
- else if( !strcmp( val.psz_string, "off" ) || !strcmp( val.psz_string, "hide" ) )
+ else if( !strcmp( val.psz_string, "off" )
+ || !strcmp( val.psz_string, "hide" ) )
osd_MenuHide( p_this );
else if( !strcmp( val.psz_string, "up" ) )
osd_MenuUp( p_this );
{
msg_rc( _("Please provide one of the following parameters:") );
msg_rc( "[on|off|up|down|left|right|select]" );
- if( val.psz_string ) free( val.psz_string );
- return i_error;
+ i_error = VLC_EGENERIC;
}
- i_error = VLC_SUCCESS;
- if( val.psz_string ) free( val.psz_string );
+ free( val.psz_string );
return i_error;
}
if( !strcmp( psz_cmd, "stats" ) )
{
- p_intf->p_sys->b_statistics = !p_intf->p_sys->b_statistics;
- if( p_intf->p_sys->b_statistics )
- msg_rc(_("statistics update on"));
- else
- msg_rc(_("statistics update off"));
+ vlc_mutex_lock( &input_GetItem(p_input)->lock );
+ updateStatistics( p_intf, input_GetItem(p_input) );
+ vlc_mutex_unlock( &input_GetItem(p_input)->lock );
}
/*
* sanity check
}
#ifdef WIN32
-vlc_bool_t ReadWin32( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
+bool ReadWin32( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
{
INPUT_RECORD input_record;
DWORD i_dw;
p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
{
p_buffer[ *pi_size ] = 0;
- return VLC_TRUE;
+ return true;
}
}
- return VLC_FALSE;
+ return false;
}
#endif
-vlc_bool_t ReadCommand( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
+bool ReadCommand( intf_thread_t *p_intf, char *p_buffer, int *pi_size )
{
int i_read = 0;
else if( p_intf->p_sys->i_socket == -1 )
{
msleep( INTF_IDLE_SLEEP );
- return VLC_FALSE;
+ return false;
}
#endif
while( !intf_ShouldDie( p_intf ) && *pi_size < MAX_LINE_LENGTH &&
(i_read = net_Read( p_intf, p_intf->p_sys->i_socket == -1 ?
0 /*STDIN_FILENO*/ : p_intf->p_sys->i_socket, NULL,
- (uint8_t *)p_buffer + *pi_size, 1, VLC_FALSE ) ) > 0 )
+ (uint8_t *)p_buffer + *pi_size, 1, false ) ) > 0 )
{
if( p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
break;
p_intf->p_sys->i_socket = -1;
}
else
+ {
/* Standard input closed: exit */
- vlc_object_kill( p_intf );
+ vlc_value_t empty;
+ Quit( VLC_OBJECT(p_intf), NULL, empty, empty, NULL );
+ }
p_buffer[ *pi_size ] = 0;
- return VLC_TRUE;
+ return true;
}
if( *pi_size == MAX_LINE_LENGTH ||
p_buffer[ *pi_size ] == '\r' || p_buffer[ *pi_size ] == '\n' )
{
p_buffer[ *pi_size ] = 0;
- return VLC_TRUE;
+ return true;
}
- return VLC_FALSE;
+ return false;
}
/*****************************************************************************
*****************************************************************************/
static input_item_t *parse_MRL( intf_thread_t *p_intf, char *psz_mrl )
{
-#define SKIPSPACE( p ) { while( *p && ( *p == ' ' || *p == '\t' ) ) p++; }
+#define SKIPSPACE( p ) { while( *p == ' ' || *p == '\t' ) p++; }
#define SKIPTRAILINGSPACE( p, d ) \
{ char *e=d; while( e > p && (*(e-1)==' ' || *(e-1)=='\t') ){e--;*e=0;} }
return p_item;
}
-
-/*****************************************************************************
- * checkUpdates : check for updates
- ****************************************************************************/
-#if 0 && defined( UPDATE_CHECK )
-static void checkUpdates( intf_thread_t *p_intf )
-{
- /*TODO: - modify this to delete p_update to avoid a memory leak !
- - complete the function wich is not working obiously !
- update_t *p_u = update_New( p_intf );
- var_AddCallback( p_intf->p_libvlc, "update-notify", updatesCallback, p_intf );
-
- msg_rc( "\nChecking for updates" );
- update_Check( p_u );*/
-}
-#endif