# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_plugin.h>
#include <errno.h> /* ENOMEM */
#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") );
+ set_description( N_("Remote control interface") );
add_bool( "rc-show-pos", 0, NULL, POS_TEXT, POS_LONGTEXT, true );
#ifdef WIN32
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 */
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 ): %s",
- &cmd[0], newval.i_int,
- ppsz_input_state[ 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[0], 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 );
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 );
}
}
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]" );
- free( val.psz_string );
- return i_error;
+ i_error = VLC_EGENERIC;
}
- i_error = VLC_SUCCESS;
free( val.psz_string );
return i_error;
}