#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_url.h>
-#include <vlc_charset.h>
+#include <vlc_fs.h>
#include <vlc_services_discovery.h>
#include <sys/stat.h>
#undef OPEN_MODULE
+static int vlc_sd_probe_Open( vlc_object_t * );
+
vlc_module_begin ()
set_category( CAT_PLAYLIST )
set_subcategory( SUBCAT_PLAYLIST_SD )
- set_shortname( "Video" )
+ set_shortname( N_("Video") )
set_description( N_("My Videos") )
set_capability( "services_discovery", 10 )
set_callbacks( OpenVideo, Close )
add_shortcut( "video_dir" )
add_submodule ()
- set_shortname( "Audio" )
+ set_shortname( N_("Audio") )
set_description( N_("My Music") )
set_capability( "services_discovery", 10 )
set_callbacks( OpenAudio, Close )
add_shortcut( "audio_dir" )
add_submodule ()
- set_shortname( "Picture")
+ set_shortname( N_("Picture") )
set_description( N_("My Pictures") )
set_capability( "services_discovery", 10 )
set_callbacks( OpenPicture, Close )
add_shortcut( "picture_dir" )
+ VLC_SD_PROBE_SUBMODULE
vlc_module_end ()
/* make sure the directory exists */
struct stat st;
if( psz_dir == NULL ||
- utf8_stat( psz_dir, &st ) ||
+ vlc_stat( psz_dir, &st ) ||
!S_ISDIR( st.st_mode ) )
continue;
- // TODO: make_URI is only for file://, what about dir:// ?
- // char* psz_uri = make_URI( psz_dir );
- char* psz_uri;
- if( asprintf( &psz_uri, "dir://%s", psz_dir ) == -1 )
- continue;
+ char* psz_uri = make_URI( psz_dir );
input_item_t* p_root = input_item_New( p_sd, psz_uri, NULL );
if( p_sys->i_type == Picture )
free( psz_dir );
return i_ret;
}
+
+static int vlc_sd_probe_Open( vlc_object_t *obj )
+{
+ vlc_probe_t *probe = (vlc_probe_t *)obj;
+
+ vlc_sd_probe_Add( probe, "video_dir{longname=\"My Videos\"}",
+ N_("My Videos"), SD_CAT_MYCOMPUTER );
+ vlc_sd_probe_Add( probe, "audio_dir{longname=\"My Music\"}",
+ N_("My Music"), SD_CAT_MYCOMPUTER );
+ vlc_sd_probe_Add( probe, "picture_dir{longname=\"My Pictures\"}",
+ N_("My Pictures"), SD_CAT_MYCOMPUTER );
+ return VLC_PROBE_CONTINUE;
+}