static int Open( vlc_object_t * );
static void Close( vlc_object_t * );
+VLC_SD_PROBE_HELPER("mtp", N_("MTP 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 );
i_status == 0 )
{
/* Found a new device, add it */
- msg_Info( p_sd, "New device found" );
+ msg_Dbg( p_sd, "New device found" );
if( AddDevice( p_sd, &p_rawdevices[0] ) == VLC_SUCCESS )
i_status = 1;
}
p_sd->p_sys->i_product_id = p_raw_device->device_entry.product_id;
if( ( p_track = LIBMTP_Get_Tracklisting_With_Callback( p_device,
CountTracks, p_sd ) ) == NULL )
- msg_Info( p_sd, "No tracks on the device" );
+ {
+ msg_Warn( p_sd, "No tracks on the device" );
+ }
else
{
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 )
{
}
else
{
- msg_Info( p_sd, "No device found, after all" );
+ msg_Warn( p_sd, "No device found, after all" );
return VLC_EGENERIC;
}
}
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 );