#include <vlc_common.h>
#include <vlc_playlist.h>
#include <vlc_plugin.h>
-#include <errno.h>
-#include <vlc_charset.h>
#include <vlc_interface.h>
#include <vlc_services_discovery.h>
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-
#include "libmtp.h"
/*****************************************************************************
static int Open( vlc_object_t * );
static void Close( vlc_object_t * );
+VLC_SD_PROBE_HELPER("mtp", "MTP devices", SD_CAT_DEVICES)
+
vlc_module_begin()
set_shortname( "MTP" )
set_description( N_( "MTP devices" ) )
set_capability( "services_discovery", 0 )
set_callbacks( Open, Close )
linked_with_a_crap_library_which_uses_atexit()
+
+ VLC_SD_PROBE_SUBMODULE
vlc_module_end()
{
services_discovery_t *p_sd = ( services_discovery_t * )p_this;
- if( p_sd->p_sys->psz_name != NULL )
- free( p_sd->p_sys->psz_name );
+ free( p_sd->p_sys->psz_name );
vlc_cancel (p_sd->p_sys->thread);
vlc_join (p_sd->p_sys->thread, NULL);
free( p_sd->p_sys );
{
if( !( p_sd->p_sys->pp_items = calloc( p_sd->p_sys->i_tracks_num,
sizeof( input_item_t * ) ) ) )
+ {
+ free( psz_name );
return VLC_ENOMEM;
+ }
p_sd->p_sys->i_count = 0;
while( p_track != NULL )
{
p_track->title ) ) == NULL )
{
msg_Err( p_sd, "Error adding %s, skipping it", p_track->filename );
+ free( psz_string );
return;
}
+ free( psz_string );
+
input_item_SetArtist( p_input, p_track->artist );
input_item_SetGenre( p_input, p_track->genre );
input_item_SetAlbum( p_input, p_track->album );
- free( psz_string );
if( asprintf( &psz_string, "%d", p_track->tracknumber ) != -1 )
{
input_item_SetTrackNum( p_input, psz_string );